【问题标题】:nested recyclerview scroll indicator嵌套recyclerview滚动指示器
【发布时间】:2021-06-10 14:25:28
【问题描述】:

我正在尝试删除当您尝试滚动时出现的滚动指示器,但您已经位于嵌套的 recyclerview 内列表的开始/结尾,它应该只显示整个页面的指示器,但是它也显示给recyclerview

【问题讨论】:

    标签: android kotlin user-interface android-recyclerview


    【解决方案1】:

    您可以通过

    隐藏recyclerView的滚动条
    <androidx.recyclerview.widget.RecyclerView
       ...
       android:scrollbars="none" />
    

    在嵌套 recyclerView 上的布局 xml 文件中。这不会影响可滚动性。

    编辑: recyclerView 的开始/结束指示符称为EdgeEffect,由EdgeEffectFactory 分配。不幸的是,EdgeEffectEdgeEffectFactory 都不能传递空值,但您可以通过将颜色设置为列表的背景色来解决问题:

    yourRecyclerView.edgeEffectFactory = object : RecyclerView.EdgeEffectFactory() {
        override fun createEdgeEffect(view: RecyclerView, direction: Int): EdgeEffect {
            val effect = EdgeEffect(context)
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
                effect.color = resources.getColor(R.color.your_backgrund_color, null)
            } else {
                effect.color = resources.getColor(R.color.your_backgrund_color)
            }
    
            return effect
        }
    }
    

    【讨论】:

    • 我不是指滚动条,我指的是您已到达列表顶部/底部的指示器。 imgur.com/a/YU7EQQw
    • 啊!这不清楚。我会更新我的答案。
    猜你喜欢
    • 1970-01-01
    • 2018-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-17
    • 2016-09-15
    • 2019-09-18
    • 2020-09-07
    相关资源
    最近更新 更多