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 你的内容(整个屏幕宽度)不会改变也不会被重绘(因此按比例放大)