本文內(nèi)容也如 標(biāo)題所描述响迂,就是監(jiān)聽ScrollView 的滾動(dòng),來進(jìn)行設(shè)置標(biāo)題欄的漸變效果渗勘,
直接上代碼:
private fun addOnScrollListener() {
binding.scrollView.viewTreeObserver.addOnScrollChangedListener {
val scrollY = binding.scrollView.scrollY
LogUtil.i("scrollY: $scrollY")
if (scrollY <= 0) {
binding.topLayout.setBackgroundResource(getColorById(android.R.color.transparent))
} else if (scrollY > 0 && scrollY <= dp2px(130f)) { // 130 是需要滾動(dòng)的高度 單位 dp沐绒,
binding.topLayout.setBackgroundColor(getColorById(R.color.c_fc4e52))
val rate = (scrollY.toFloat() / dp2px(130f).toFloat())
binding.topLayout.background.alpha = (rate * 255).toInt() // 這里的 透明度取值是 0-255.
} else {
binding.topLayout.setBackgroundColor(getColorById(R.color.c_fc4e52))
binding.topLayout.background.alpha = 255
}
}
}