android回收器视图禁用滚动条,但不使用setverticalscrollbarenabled

tpgth1q7  于 2021-07-08  发布在  Java
关注(0)|答案(3)|浏览(776)

我有一个查看寻呼机和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));
                }
            }
        }
    }
oknwwptz

oknwwptz1#

制作一些半透明的卷轴,并添加以下内容:

android:scrollbarStyle="insideOverlay"

或java/kotlin侧:

scrollableView.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);

这将使您的拇指不会占用空间,并将被画在您的列表/内容的顶部。看看这张图片不同的风格如何表现。然后你可以用 setVerticalScrollBarEnabled ,内容的空间(整个屏幕宽度)不会更改,也不会被重新绘制(因此按比例放大)

2hh7jdfx

2hh7jdfx2#

如果显示滚动条不重要,尝试将其添加到xml中,滚动条就会消失

android:scrollbars="none"
1szpjjfi

1szpjjfi3#

尝试在布局文件中使用此选项。

android:scrollbars="none"

应该是这样的。

<android.support.v7.widget.RecyclerView
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:scrollbars="none"
     ...

相关问题