Android中的RecyclerView的使用(一)
2015-12-22 18:24
330 查看
从Android5.0开始,加入了一个RecyclerView控件,为了兼容,这个类是在v7里面的,可以兼容低版本哦!
什么是RecyclerView,从名字中我们就知道了这个控件是一个可以复用的View,而且它仅仅就关心复用,它不关心Item是不是显示在正确的位置上面,也不关心条目之间是不是有分隔,也不关心item增加和删除的动画,仅仅就关心条目的复用!
RecyclerView能显示成很多很多的效果,关键就是LayoutManager.
1.可以是一个ListView
2.可以是一个GridView
3.可以是一个横向的ListView或者GridView
4.显示的效果可以自定义,等等,十分的灵活
下面开始介绍利用RecyclerView实现ListView的效果.
1.在布局文件中使用RecyclerView控件
![](http://img.blog.csdn.net/20151222173129162?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
2.在Activity中找到这个控件,然后创建适配器,将适配器挂载到RecyclerView上,这个过程和ListView的使用像极了!
![](http://img.blog.csdn.net/20151222173251591?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
上面是Activity中的代码,上面我们唯一和平常不一样的是给RecyclerView设置了一个布局管理器,这是因为我们开始就分析过了,RecyclerView控件不关心条目怎么显示,所以这里我们需要给它一个布局管理器,它就会按照这个布局管理器来排列所有的条目,这就极大的扩展了RecyclerView的显示效果,甚至于我们可以自定义布局管理来显示成我们想象的效果.这里创建了一个适配器,这个适配器和我们平常使用的有些不同,我们平常使用的适配器都是继承自BaseAdapter,而这里不是,这里是需要继承RecyclerView的一个内部类,先看代码:
![](http://img.blog.csdn.net/20151222173520871?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
相应的ViewHolder也是需要继承RecyclerView提供的ViewHolder,里面的控件还是一样的声明,和我们平常的ViewHolder没什么两样!
但是我们看到我们的适配器的方法发生了变化,需要实现的方法变少了,单单从名字其实我们就可以看出来,这两个方法的基本作用onCreateViewHolder方法就是让我们创建一个ViewHolder然后返回,这个没有什么好说的.onBindViewHolder呢?其实就是让我们从ViewHolder拿出相应的控件,然后设置我们显示的数据,还有一个方法方法更加不用解释了吧!就是返回条目的数量
那么简单而且不好看的一个demo就形成了:
![](http://img.blog.csdn.net/20151222180928144?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
那我们需要实现横向的呢?
非常简单!只需要设置水平的线性布局管理器就好了.
![](http://img.blog.csdn.net/20151222182023326?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
这里就是创建了一个水平的线性布局管理器.看运行效果!
![](http://img.blog.csdn.net/20151222182313729?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
这里是可以左右滑动的哦,是不是好神奇?这就是RecyclerView的简单使用,后续再介绍其他炫酷的效果哦!
什么是RecyclerView,从名字中我们就知道了这个控件是一个可以复用的View,而且它仅仅就关心复用,它不关心Item是不是显示在正确的位置上面,也不关心条目之间是不是有分隔,也不关心item增加和删除的动画,仅仅就关心条目的复用!
RecyclerView能显示成很多很多的效果,关键就是LayoutManager.
1.可以是一个ListView
2.可以是一个GridView
3.可以是一个横向的ListView或者GridView
4.显示的效果可以自定义,等等,十分的灵活
下面开始介绍利用RecyclerView实现ListView的效果.
1.在布局文件中使用RecyclerView控件
2.在Activity中找到这个控件,然后创建适配器,将适配器挂载到RecyclerView上,这个过程和ListView的使用像极了!
上面是Activity中的代码,上面我们唯一和平常不一样的是给RecyclerView设置了一个布局管理器,这是因为我们开始就分析过了,RecyclerView控件不关心条目怎么显示,所以这里我们需要给它一个布局管理器,它就会按照这个布局管理器来排列所有的条目,这就极大的扩展了RecyclerView的显示效果,甚至于我们可以自定义布局管理来显示成我们想象的效果.这里创建了一个适配器,这个适配器和我们平常使用的有些不同,我们平常使用的适配器都是继承自BaseAdapter,而这里不是,这里是需要继承RecyclerView的一个内部类,先看代码:
相应的ViewHolder也是需要继承RecyclerView提供的ViewHolder,里面的控件还是一样的声明,和我们平常的ViewHolder没什么两样!
但是我们看到我们的适配器的方法发生了变化,需要实现的方法变少了,单单从名字其实我们就可以看出来,这两个方法的基本作用onCreateViewHolder方法就是让我们创建一个ViewHolder然后返回,这个没有什么好说的.onBindViewHolder呢?其实就是让我们从ViewHolder拿出相应的控件,然后设置我们显示的数据,还有一个方法方法更加不用解释了吧!就是返回条目的数量
那么简单而且不好看的一个demo就形成了:
那我们需要实现横向的呢?
非常简单!只需要设置水平的线性布局管理器就好了.
这里就是创建了一个水平的线性布局管理器.看运行效果!
这里是可以左右滑动的哦,是不是好神奇?这就是RecyclerView的简单使用,后续再介绍其他炫酷的效果哦!
相关文章推荐
- Android实时视频采集方案
- Face Detection using OpenCV Haarcascades in Android
- Android关闭键盘时的一个小问题
- Android5.0如何监听USB插拔
- Android自定义view控件
- 读Android学Java基础之动机
- Android设置布局背景为白色的三种方法
- viewpager显示多页,左右翻页显示动画
- Android 使用android-support-multidex解决Dex超出方法数的限制问题,让你的应用不再爆棚
- Android中Java反射技术的使用示例
- android 自定义组合控件
- Android_xml背景色的值
- Android 动态控制控件的位置
- android proc 虚拟文件系统
- 异常记录之android.content.res.Resources$NotFoundException: String resource ID
- Android开发_关于点击事件
- Android笔记(13) ---布局优化include、merge、ViewStub的使用
- ListView的item点击事件不响应
- ImageView的android:adjustViewBounds属性
- Android中有趣的Demo