首页 > 解决方案 > 嵌套recyclerview滚动指示器

问题描述

我正在尝试删除当您尝试滚动时出现的滚动指示器,但您已经位于嵌套的 recyclerview 中列表的开头/结尾,它应该只显示整个页面的指示器,但它显示了它也适用于回收站视图 在此处输入图像描述

标签: androidkotlinuser-interfaceandroid-recyclerview

解决方案


您可以通过隐藏 recyclerView 的滚动条

<androidx.recyclerview.widget.RecyclerView
   ...
   android:scrollbars="none" />

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

编辑: recyclerView 的开始/结束指示器称为 an EdgeEffect,由 an 分配EdgeEffectFactory。不幸的是,您也不能传递 null ,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
    }
}

推荐阅读