Android 如何使RecyclerView禁止滚动

Android 如何使RecyclerView禁止滚动,android,scroll,android-recyclerview,Android,Scroll,Android Recyclerview,在某些情况下,我们需要使RecyclerView无法滚动,因此在回答这些问题时发挥您的优势 对于这个问题,我有一些解决方案,希望能对您有所帮助。详情见下文: void setLayoutFreeze(布尔值冻结) 如果我们只想居住在scroll中,我强烈建议使用此方案,因为它简单方便 当我们使用LayoutManager(LinearManager或GridLayoutManager)时,我们可以使用它 ` GridLayoutManager很像 从上面的第二项,我们可以扩展相应的LayoutM

在某些情况下,我们需要使RecyclerView无法滚动,因此在回答这些问题时发挥您的优势

对于这个问题,我有一些解决方案,希望能对您有所帮助。详情见下文:

  • void setLayoutFreeze(布尔值冻结)
    如果我们只想居住在scroll中,我强烈建议使用此方案,因为它简单方便

  • 当我们使用LayoutManager(LinearManager或GridLayoutManager)时,我们可以使用它

  • `

    GridLayoutManager很像

  • 从上面的第二项,我们可以扩展相应的LayoutManager
  • `

    ` 4.我们可以处理RecyclerView TouchEvent以实现此效果


    从上面看,我相信你能让自己变得更好。祝你好运……

    顺便说一句,我非常同意这句话:问和回答你自己的问题也很好,只要你假装你在危险中用问题的形式表达出来。
    LinearLayoutManager linearLayoutManager = new 
    
    LinearLayoutManager(mContext, LinearLayoutManager.VERTICAL, false){
    
            @Override
            public boolean canScrollVertically() {
                return false;
            }
    
            @Override
            public boolean canScrollHorizontally() {
                return super.canScrollHorizontally();
            }
        };`
    
    public class MyGridLayoutManager extends GridLayoutManager {
    
    private boolean isScrollEnabled = true;
    
    public MyGridLayoutManager(Context context, int spanCount) {
        super(context, spanCount);
    }
    public MyGridLayoutManager(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
        super(context, attrs, defStyleAttr, defStyleRes);
    }
    
    public MyGridLayoutManager(Context context, int spanCount, int orientation, boolean reverseLayout) {
        super(context, spanCount, orientation, reverseLayout);
    }
    
    public void setScrollEnabled(boolean flag) {
        this.isScrollEnabled = flag;
    }
    
    @Override
    public boolean canScrollVertically() {
        return isScrollEnabled && super.canScrollVertically();
    }
    }