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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ClAndEllen/article/details/82859578

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

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像瀑布一样排列。详细介绍点击以下传送门:

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

猜你喜欢

转载自blog.csdn.net/ClAndEllen/article/details/82859578
今日推荐