【问题标题】:How to show or hide a view upon RecyclerView scroll如何在 RecyclerView 滚动时显示或隐藏视图
【发布时间】:2019-01-21 09:56:25
【问题描述】:

有很多与CoordinatorLayoutFAB 相关的答案,但有时您只需要在来自RecyclerView 的向下/向上滚动事件时显示/隐藏自定义视图。

【问题讨论】:

    标签: android android-recyclerview kotlin android-coordinatorlayout


    【解决方案1】:

    最简单的方法是将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()
                }
            }
        })
    }
    

    【讨论】:

      猜你喜欢
      • 2019-11-09
      • 1970-01-01
      • 1970-01-01
      • 2016-06-17
      • 2016-06-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多