RecyclerView控件,为了兼容,这个类是在v7里面的,可以兼容低版本哦!
什么是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的简单使用,后续再介绍其他炫酷的效果哦!