Android Recycler 视图禁用滚动条但不使用 setVerticalScrollBarEnabled
Android Recycler view disable the scrollbar but not use setVerticalScrollBarEnabled
我有一个查看寻呼机并且有 3 个片段。这 3 个片段是回收者视图。
我想当我拖动到下一页时,滚动条会消失。但我不想使用 setVerticalScrollBarEnabled
。因为当调用这个方法时,主要的内容项会被放大。我认为原因是滚动条宽度为 4dp。因此,主要内容项目将按比例扩大。我不喜欢这种放大效果
我也试过setVerticalScrollbarThumbDrawable
透明色。但是这个方法需要加上这个条件Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q
。
任何人都可以给我一些建议。非常感谢。
public void SetRecyclerViewScrollBar(boolean enable) {
if(this.mRecyclerView != null) {
this.mAdapter.notifyDataSetChanged();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
if(!enable) {
this.mRecyclerView.setVerticalScrollbarThumbDrawable(this.mContext.getDrawable(R.drawable.scrollbar_transparent));
this.mRecyclerView.setVerticalScrollbarTrackDrawable(this.mContext.getDrawable(R.drawable.vertical_scrollview_track_transparent));
} else {
this.mRecyclerView.setVerticalScrollbarThumbDrawable(this.mContext.getDrawable(R.drawable.scrollbar));
this.mRecyclerView.setVerticalScrollbarTrackDrawable(this.mContext.getDrawable(R.drawable.vertical_scrollview_track));
}
}
}
}
尝试在您的布局文件中使用它。
android:scrollbars="none"
应该是这样的
<android.support.v7.widget.RecyclerView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scrollbars="none"
...
如果显示滚动条不重要,请尝试在您的 XML 中添加它,它会消失滚动条
android:scrollbars="none"
制作一些半透明的滚动拇指可绘制并添加:
android:scrollbarStyle="insideOverlay"
或Java/Kotlin方:
scrollableView.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
这将使您的拇指不会占用 space,并且会绘制在您的 list/content 之上。查看此 pic 不同样式的行为方式。然后你可以使用 setVerticalScrollBarEnabled
,space 你的内容(整个屏幕宽度)不会改变也不会被重绘(因此按比例放大)
我有一个查看寻呼机并且有 3 个片段。这 3 个片段是回收者视图。
我想当我拖动到下一页时,滚动条会消失。但我不想使用 setVerticalScrollBarEnabled
。因为当调用这个方法时,主要的内容项会被放大。我认为原因是滚动条宽度为 4dp。因此,主要内容项目将按比例扩大。我不喜欢这种放大效果
我也试过setVerticalScrollbarThumbDrawable
透明色。但是这个方法需要加上这个条件Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q
。
任何人都可以给我一些建议。非常感谢。
public void SetRecyclerViewScrollBar(boolean enable) {
if(this.mRecyclerView != null) {
this.mAdapter.notifyDataSetChanged();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
if(!enable) {
this.mRecyclerView.setVerticalScrollbarThumbDrawable(this.mContext.getDrawable(R.drawable.scrollbar_transparent));
this.mRecyclerView.setVerticalScrollbarTrackDrawable(this.mContext.getDrawable(R.drawable.vertical_scrollview_track_transparent));
} else {
this.mRecyclerView.setVerticalScrollbarThumbDrawable(this.mContext.getDrawable(R.drawable.scrollbar));
this.mRecyclerView.setVerticalScrollbarTrackDrawable(this.mContext.getDrawable(R.drawable.vertical_scrollview_track));
}
}
}
}
尝试在您的布局文件中使用它。
android:scrollbars="none"
应该是这样的
<android.support.v7.widget.RecyclerView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scrollbars="none"
...
如果显示滚动条不重要,请尝试在您的 XML 中添加它,它会消失滚动条
android:scrollbars="none"
制作一些半透明的滚动拇指可绘制并添加:
android:scrollbarStyle="insideOverlay"
或Java/Kotlin方:
scrollableView.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
这将使您的拇指不会占用 space,并且会绘制在您的 list/content 之上。查看此 pic 不同样式的行为方式。然后你可以使用 setVerticalScrollBarEnabled
,space 你的内容(整个屏幕宽度)不会改变也不会被重绘(因此按比例放大)