Android面试系列文章2018之Android部分之RecyclerView篇

1.RecyclerView是什么?

  从Android 5.0开始,谷歌公司推出了RecylerView控件,当看到RecylerView这个新控件的时候,大部分人会首先发出一个疑问,recylerview是什么?为什么会有recylerview也就是说recylerview的优点是什么?recylerview怎么用?等等,下面我们将深入解析recylerview。

  RecyclerView是support-v7包中的新组件,是一个强大的滑动组件,与经典的ListView相比,同样拥有item回收复用的功能,这一点从它的名字Recyclerview即回收view也可以看出。看到这也许有人会问,不是已经有ListView了吗,为什么还要RecyclerView呢?这就牵扯到第二个问题了。

RecyclerView的优点是:

根据官方的介绍RecyclerView是ListView的升级版,既然如此那RecyclerView必然有它的优点,现就RecylerView相对于ListView的优点罗列如下:

  • RecyclerView封装了viewholder的回收复用,也就是说RecyclerView标准化了ViewHolder,编写Adapter面向的是ViewHolder而不再是View了,复用的逻辑被封装了,写起来更加简单。
  • 提供了一种插拔式的体验,高度的解耦,异常的灵活,针对一个Item的显示RecyclerView专门抽取出了相应的类,来控制Item的显示,使其的扩展性非常强。例如:你想控制横向或者纵向滑动列表效果可以通过LinearLayoutManager这个类来进行控制(与GridView效果对应的是GridLayoutManager,与瀑布流对应的还StaggeredGridLayoutManager等),也就是说RecyclerView不再拘泥于ListView的线性展示方式,它也可以实现GridView的效果等多种效果。你想控制Item的分隔线,可以通过继承RecyclerView的ItemDecoration这个类,然后针对自己的业务需求去抒写代码。
  • 可以控制Item增删的动画,可以通过ItemAnimator这个类进行控制,当然针对增删的动画,RecyclerView有其自己默认的实现。

2.RecyclerView的布局管理器&适配器

2.1 RecyclerView的布局管理器

  RecyclerView的布局管理器是什么东东,我们知道ListView它只能让Item呈现线性排列,并不能一排好几个,或者参差不齐交错排列,因此RecyclerView可以做到,怎么做的呢?这跟RecyclerView的布局管理器有关,RecyclerView的布局管理器分为三种,第一种就是和ListView一样能让Item呈线性排列的线性布局管理器,而且还可以选择垂直方向或者水平方向。第二种就是网格布局管理器,这种是比较常见和常用的布局管理器,把数据整整齐齐的想网格一样的把数据显示出来。第三种就是瀑布流布局管理器,根据名字就可以知道它的作用就是让Item像瀑布一样排列。详细介绍点击以下传送门:

  • 线性布局管理器(LinearLayoutManager)

  • 网格布局管理器(GridLayoutManager)

  • 瀑布流布局管理器(StaggeredLayouManager)

  • https://www.jianshu.com/p/626a082bf569

  • https://www.jianshu.com/p/12ec590f6c76

2.2 RecyclerView的适配器

https://blog.csdn.net/Mr_QiuL/article/details/52213547

3.RecyclerView源码分析

http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2016/0307/4032.html

4.RecyclerView&ListView区别

https://www.jianshu.com/p/f592f3715ae2

更多相关文章

  1. 如何在Android中启动JAVA程序
  2. Android进阶(二十七)Android原生扰人烦的布局
  3. android 五大布局经典演绎
  4. 一切都“Android化”
  5. Android(安卓)MVP 构架初试
  6. android连续点击出现多个Activity界面
  7. Android(安卓)LinearLayout线性布局(上下左右 正中间)示例
  8. Android简单语音控制应用的实现
  9. Android核心分析 之十-------Android(安卓)GWES之基本原理篇

随机推荐

  1. Android 常用ADB命令汇总!!! -- 持续补充
  2. Android中 备份短信 还原短信
  3. Animator记录一次属性动画实现的逐渐出现
  4. android链接rest services
  5. Android(安卓)studio修改apk release打包
  6. Android kotlin上传头像实现
  7. 《阿里巴巴Android开发手册》《深入探索A
  8. 使用 IntelliJ Debug Android 源码
  9. android背景选择器selector用法汇总
  10. android操作sqlite3的blob字段