Android 禁止RecycleView的滑动

1.问题?

使用RecycleView 时,如果数据量很少只有几个,需求不需要它上下左右滑动,在xml配置中加上Android:scrollbars=”none”,这只是去掉了滑动bar。

但是RecycleView 上下还是能滑动,且有阴影。

2.解决方案

How to disable RecyclerView scrolling?

public class CustomLinearLayoutManager extends LinearLayoutManager {
    private boolean isScrollEnabled = true;

    public CustomLinearLayoutManager(Context context) {
        super(context);
    }

    public void setScrollEnabled(boolean flag) {
        this.isScrollEnabled = flag;
    }

    @Override
    public boolean canScrollVertically() {
        //Similarly you can customize "canScrollHorizontally()" for managing horizontal scroll
        return isScrollEnabled && super.canScrollVertically();
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

在 RecyclerView 设置LinearLayout的时候 继承上述子类,并设置setScrollEnabled 为false 即可。

      CustomLinearLayoutManager linearLayoutManager = new CustomLinearLayoutManager(mContext);
        linearLayoutManager.setScrollEnabled(false);
        mDevicesRV.setLayoutManager(linearLayoutManager);
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

3.参考链接

https://my.oschina.net/u/1446823/blog/712306

http://stackoverflow.com/questions/30531091/how-to-disable-recyclerview-scrolling

    原文作者:j20lin
    原文地址: https://blog.csdn.net/j20lin/article/details/74681602
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞