与CoordinatorLayout
和FAB
相关的答案很多,但是有时您只需要在RecyclerView
上的向下/向上滚动事件时显示/隐藏自定义视图即可。
答案 0 :(得分:0)
最简单的方法是在您的回收站视图中添加RecyclerView.OnScrollListener
。
此解决方案非常简单,并且效果相当不错,此外,您可以通过threshold
属性来调整要忽略的滚动长度,该属性是RCV高度的百分比。
fun RecyclerView.hideShowScrollListener(view: View, threshold: Double = .5) {
this.addOnScrollListener(object : RecyclerView.OnScrollListener() {
override fun onScrolled(recyclerView: RecyclerView?, dx: Int, dy: Int) {
super.onScrolled(recyclerView, dx, dy)
val thresholdValue = (recyclerView?.height ?: 0) / 100 * threshold
if (dy > thresholdValue && view.visibility == View.VISIBLE) {
view.gone()
} else if (dy < -thresholdValue && view.visibility != View.VISIBLE) {
view.visible()
}
}
})
}