android - 滚动后颜色 CollapsingToolbarLayout
问题描述
我有一个NestedScrollView
,女巫里面有 3 块布局,第一个是白色背景,第二个是灰色,最后一个是黑色。我希望当我CollapsingToolbarLayout
触及一个街区时,它会改变他的contentScrim
颜色。
现在我正在像这样实施
scrollview.setOnScrollChangeListener { _, _, scrollY, _, oldScrollY ->
if(scrollY > 1400 && oldScrollY < 1400){
reveal(collapsing_toolbar_layout, R.color.background)
toolbar_name.setTextColor(ResourcesCompat.getColor(resources, android.R.color.black, null))
back_icon.imageTintList = ResourcesCompat.getColorStateList(resources, android.R.color.black, null)
}
if(scrollY > 4755 && oldScrollY < 4755){
reveal(collapsing_toolbar_layout, R.color.lightBlack)
toolbar_name.setTextColor(ResourcesCompat.getColor(resources, android.R.color.white, null))
back_icon.imageTintList = ResourcesCompat.getColorStateList(resources, android.R.color.white, null)
}
if(oldScrollY > 4755 && scrollY < 4755){
reveal(collapsing_toolbar_layout, R.color.background)
toolbar_name.setTextColor(ResourcesCompat.getColor(resources, android.R.color.black, null))
back_icon.imageTintList = ResourcesCompat.getColorStateList(resources, android.R.color.black, null)
}
if(oldScrollY > 1400 && scrollY < 1400){
reveal(collapsing_toolbar_layout, R.color.colorPrimary)
toolbar_name.setTextColor(ResourcesCompat.getColor(resources, android.R.color.white, null))
back_icon.imageTintList = ResourcesCompat.getColorStateList(resources, android.R.color.white, null)
}
}
但问题是,并非所有手机都以该值到达区块,有些早一点,有些晚一点。我怎样才能用所有智能手机做到这一点?
解决方案
推荐阅读
- c# - 包含语句不起作用是否有要安装的块包?
- .htaccess - 如何将任何子域上的任何一个文件重定向(htaccess)到一个新的单个子域?
- python - OneHotEncoder ,TypeError: __init__() 得到了一个意外的关键字参数 'drop'
- java - 从 4.7.2 版开始,ANTLR 无法生成 java 代码
- python - 如何将对 TypeVar 的分配限制为 Hashable?
- java - 用其他一些字符替换字符串中的字符会产生异常
- java - 如何指定 swagger codegen 应该生成哪些 API
- apache-spark - 如何使用火花流传输 websocket?
- react-native - 当前未启用错误“nullishCoaleacingOperator”
- regex - Perl Regexp::Common 包与单词边界一起使用时与某些实数不匹配