一种使RecycleView禁止滑动的方法
来源:互联网 发布:签证邀请函知乎 编辑:程序博客网 时间:2024/05/21 19:38
乍一看题目,很奇怪吧,我们应用RecycleView的一个重要原因就是为了利用它的滑动属性在有限的屏幕上尽可能的显示更多的内容。
那么为啥要禁用呢??
看个看官请听我继续说来…
因为最近一个项目中需要在RecycleView中显示固定的3个item而不需要滑动,我也就碰上了这么个问题。。。
类似这种效果:
很明显,这里需要做的就是将下方的模板item固定住。
1、引入
其实解决这个问题很简单。
记得recycleView与Listview的一个不同,就是通过设置LayoutManager来显示我们需要的各种Linear、Grid以及瀑布流的效果。这里用LinearLayout举例。
一般情况下,我们会这样写代码:
LinearLayoutManager manager = new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL,false);RecycleView.setLayoutManager(manager);mDemoAdapter = new MyDemoAdapter(DemoActivity.this,mTypeNums);//设置数据适配器rv_modleList.setAdapter(mDemoAdapter);
常规步骤能保证我们得到想要的效果。
因此我们通常也会忽略掉【LinearLayoutManager】。
而禁止滑动的设置关键,恰恰就是它。
我们看看源码。
其中有这么两个方法:
/** * @return true if {@link #getOrientation()} is {@link #HORIZONTAL} */ @Override public boolean canScrollHorizontally() { return mOrientation == HORIZONTAL; } /** * @return true if {@link #getOrientation()} is {@link #VERTICAL} */ @Override public boolean canScrollVertically() { return mOrientation == VERTICAL; }
一看方法名与返回值我们就知道,这哥俩指定与是否滑动有关系。
闲话少说,直接上结论:
只要根据方向,在相应的方法中返回true/false值即可控制是否滑动。
true—可以滑动
false—禁止滑动
当然,这里应特别注意方向!!!
2、应用
还是上面的栗子,我们只需要这样写就可以:
LinearLayoutManager manager = new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL,false){ @Override public boolean canScrollHorizontally() { return false; } };RecycleView.setLayoutManager(manager);mDemoAdapter = new MyDemoAdapter(DemoActivity.this,mTypeNums);//设置数据适配器rv_modleList.setAdapter(mDemoAdapter);
很明显的不同,就是在这里新建LinearLayoutManager时,需要同时根据方向重写相应的控制方法。
好了,运行一下,看看是不是达到了你想要的效果呢。
阅读全文
2 0
- 一种使RecycleView禁止滑动的方法
- Android 禁止RecycleView的滑动
- Android 禁止RecycleView的滑动
- RecycleView 禁止滑动
- Android中Recyclerview使用15----禁止RecycleView的滑动
- 横向滑动的Recycleview
- ScrollView嵌套RecyclerView滑动冲突,禁止RecycleView滑动
- 最靠谱的禁止ViewPager滑动方法
- 最靠谱的禁止ViewPager滑动方法
- Android笔记-ViewPager禁止滑动的方法
- 最靠谱的禁止ViewPager滑动方法
- 最靠谱的禁止ViewPager滑动方法
- 靠谱的禁止ViewPager滑动方法
- android中禁止GridView滑动的方法
- 最靠谱的禁止ViewPager滑动方法
- 最靠谱的禁止ViewPager滑动方法
- 禁止ViewPager滑动方法
- 记一种简单的滑动监听方法
- RxAndroid+Retorfit实现数据请求
- javaseday33补充2(图片漂浮 签名图片内显示文字)
- 线程的执行状态图
- java中的继承语法
- 发布开源库到 JitPack.io + jcenter
- 一种使RecycleView禁止滑动的方法
- java调用oracle存储过程 传递 自定义数组,对象
- PMTUD
- 机器学习如何防止过拟合
- CSS3--字体字符效果等
- 欢迎使用CSDN-markdown编辑器
- 常用的十大Python开发工具
- SpringBoot开发入门(一)Hello World
- 基本类型包装类采坑!!!!!!!!