RecyclerView 滚动条不显示的问题
最近在项目中用到RecyclerView垂直滑动。项目进行中发现不显示滚动条,
发现不管是在xml中设置还是在java代码中设置,右侧的滚动条都不显示,设置什么的setVerticalScrollBarEnabled(true)等方法都不行。
解决方法
- 最开始我考虑的是RecyclerView 滚动条的size没有设置
因此加上:android:scrollbarSize=“5dp”。如下:
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recycle_product"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scrollbars="vertical"
android:scrollbarThumbVertical="@drawable/scollerbar"
android:scrollbarSize="5dp"/>
设置后解决滚动条显示问题。
- 考虑可能和他的背景颜色有关系。因为没有其他View覆盖。
设置背景为透明色
android:background="@color/transparent"
设置之后也能解决问题。
自己new出来的RecyclerView滚动条不显示
上文的解决方法其实只适用于RecyclerView在xml中的定义。
那如果我们在代码中新建了一个RecyclerView之后,发现他的滚动条不显示。又该怎么办呢?
原因:
在实例化过程中,系统没有调用 View.initializeScrollbarsInternal(TypedArray a) 和 View.initializeScrollbars(TypedArray a) 这两个方法。
那什么时候回调用呢?
只有在新建的RecyclerView设置了AttributeSet属性的时候,实例化的时候才会调。
写出xml,用映射xml解决。