从Android5.0开始,加入了一个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的简单使用,后续再介绍其他炫酷的效果哦!


更多相关文章

  1. Android(安卓)Studio VS Eclipse (还在用Eclipse?你OUT了!)
  2. android5.0以后 framework 添加资源 编译 id can not find symbo
  3. [置顶] Android开发-分析ViewGroup、View的事件分发机制、结合职
  4. 浅析Android(安卓)App的相对布局RelativeLayout
  5. Android用GridLayout网格布局实现简单的计算器界面
  6. java/android 设计模式学习笔记(6)---适配器模式
  7. android 消息垂直滚动轮播控件
  8. 趣拍SDK接入问题Android
  9. Android基于wifi的无线HID设备实现

随机推荐

  1. android之实现各个组件点击事件处理
  2. Android(安卓)Studio下载地址[国内可下载
  3. Android(安卓)MediaController
  4. Android在设置里面添加新功能的方法
  5. 关于android:focusable属性
  6. Android(安卓)API Level对应Android版本
  7. USB UMS MTP设置过程 (二) UsbDeviceManage
  8. android 4.0 sdk直接下载地址
  9. Android: Android(安卓)Wifi System
  10. ConstraintLayout 使用可视化的方式来编