这里使用的是 NestedScrollView ,需求是滑动过程中对标题进行显隐判断 。要注意几个点
- NestedScrollView 的滑动监听
- 标题栏view 的透明度处理 0-255
scrollerLayout.setOnScrollChangeListener { nestedScrollView, scrollX, scrollY, oldScrollX, oldScrollY ->
//滑动距离 == 0 时 默认隐藏标题栏
if (scrollY == 0) {
titleView.visibility = View.GONE
titleView.background.alpha = 0
} else if (scrollY > 0 && scrollY <= titleView.bottom + 10) {
titleView.visibility = View.VISIBLE
//算出透明度
val scale = Arith.div(scrollY.toDouble(),(titleView.bottom+10).toDouble(), 2)
val alpha = 255 * scale
titleView.background.alpha = alpha.toInt()
}
}