recycleView基本知识

recycleView

一.基本需要了解的:

1.首先我们要了解一下什么是recyclerview?

根据字面的意思可以看出,recyclerview是重视回收和复用的view的一种控件;

2.再来看看里面重要的几个方法:

(1)getItemViewType(int position)-----------------------根据位置来判定使用哪种类型的View(这样我们就有了打造出各种样式的recyclerView的基础)

(2)recyclerView.Holder--------------------------------------主要是对findviewbyid的减少使用的优化,这个和listview没什么区别,只是说recyclerview设计到里面,不用自己添加

(3)recyclerView.Recycler-----------------------------------这个就是recycleview的回收--->缓存机制

3.多布局设计流程:

1.滚动-------->getItemViewType(int offsetposition)-------------------->根据type找到Holder-------------------------->adapter.BindViewHolder

     没有

      -------------------------->adapter.CreatViewHolder

4.Itemtype的作用:

(1)itemtype保存在Holder中;

(2)Holder根据position被缓存在cache中,复用时,系统会在chache里面拿holder

(3)遍历缓存中的holder,如果Type一致就返回;

5.RecyclerView.Holder

(1)recyclerView中保存view的单位

(2)记录在RecyclerView中的基本信息

(3)是否需要被缓存Tag标志

6.RecycleView.Recycler

(1)recyclerView中被缓存的Holder

   缓存                                     保存                                      存放 (内部类)

RecyclerView-------------------------》holder---------------------》map----------------------------》Recycler

(2)加入使用有多个recyclerView会公用一个RecyclerPool(缓存池)

7.我们来谈谈它和ListView的区别:

(1)Type已经是Holder的成员

(2)RcyclerView的缓存单位是Holder而不是View

(3)RcycleredPool的缓存Key是Type

二.重点需要学习的:

1.Item间的动画,间隔的实现

(1)Item的布局,就是使用LayoutManager来设置主要有两种 1.LinearLayout  2.Gridlayout

(2)Item间如何分隔---------------------------》通过实现ItemDecoration这个类的子类来实现

(3)Item间的增加和删除动画------------------》通过实现ItemAnimation类的子类

2.recyclerView的作用;

(1)可以实现ListView,Gridview

(2)横向listView,横向Gridview

(3)瀑布流

(4)定制Item的增加和删除的动画





















猜你喜欢

转载自blog.csdn.net/qq_34560959/article/details/53388923