RecyclerView总结学习(一)

RecyclerView总结学习(一)

RecyclerView已经出现有一年多了,各种“该有的”东西也都有了。这里就来总结学习一发!

照常先贴学习链接:
http://blog.csdn.net/lmj623565791/article/details/45059587
https://github.com/codepath/android_guides/wiki/Using-the-RecyclerView

第一篇博客鸿洋大神已经写的非常非常完美了,第二篇算是google工程是提供的一些RecyclerView的使用。两篇相互学习相互补充吧!

RecyclerView综述

如果你想使用RecyclerView的话,你将必须按照下面这么做:

  • RecyclerView.Adapter 将数据集与相应的视图绑定
  • LayoutManager 解决数据项的放置位置问题
  • ItemAnimator 与动画的常用操作,如添加或项目删除的动画效果
    image description

与ListView相比较(面试)

  • 在Adapters中需要使用ViewHolder -ListView的Adapter没有强制要求使用ViewHolder来提高性能,相比较使用RecyclerView的Adapter则需要使用ViewHolder。
  • 可定制的项目布局 -ListView仅仅能够垂直布局或者线性布局,它不能够被定制。相反,RecyclerView通过RecyclerView.LayoutManager可以设置任何数据项的布局,包括水平列表或交错网格。
  • 简单的数据操作动画 -数据项的添加和删除ListView都不提供任何的特殊方法。相反,RecyclerView则通过RecyclerView.ItemAnimator来处理操作数据项的动画。
  • 手动的数据来源 -ListViewArrayAdapterCursorAdapter分别来处理数组和数据库等一些数据。相反RecyclerView.Adapter需要我们自己定义实现数据提供给Adapter。
  • 手动的项目分割线 -ListViewandroid:divider属性来提供简单的列表中数据项之间的分割线,相反RecyclerView则需要使用RecyclerView.ItemDecoration来设置分割线
  • 手动的点击检测 -ListViewAdapterView.OnItemClickListener接口为列表的独立项绑定点击事件。而RecyclerView仅仅对RecyclerView.onItemTouchListener提供了支持,但没有内置的点击处理操作。

关于RecyclerView使用,在鸿洋老师的博客中可以学习到,我这里就不累述了。讲讲现在很流行的RecyclerViewCardView的搭配使用吧。原文如下:
http://www.androidhive.info/2016/05/android-working-with-card-view-and-recycler-view/

这里面有很多的Material Design的知识,大家可以翻阅我之前写的Material Design专题的内容。

总的来说还是按照RecyclerView的使用方法走的。具体使用步骤如下:

  • 准备好数据集
  • 设置RecyclerView.LayoutManager
  • 写好RecyclerView.Adpater并设置适配
  • 设置RecyclerView.ItemAnimator
  • 如果你不是使用CardView你可能还需要设置RecyclerView.ItemDecoration