定義:
從字面意思可以看出recycleview是重視回收和複用view的一個控件。
基本方法介紹
(1)getItemViewType(int position)--根據位置來判定使用哪種類型的View(打造出各種樣式的recyclerView的基礎);
(2)recyclerView.Holder--主要是對findviewbyid的減少使用的優化,這個和listview沒什麼差別,隻是說recyclerview設計到裡面,不用自己添加;
(3)recycleView.Recycler--回收緩存機制;
item中多布局的使用流程:
(1)有多種布局流程:滾動---getitemVIewType(int offsetposition)--根據type找到Holder----adapter.BindViewHolder;
(2)沒有多布局的流程:滾動--adapter.creatViewHolder;
說明:
(1)itemType的作用:
a、itemType儲存在Holder總;
b、Holder根據position被緩存到cache中,複用的時候會在cache中拿到Holder;
c,周遊cache中的holder,如果Type一緻就傳回。
(2)recycleView.Holder的作用:
a、儲存view的機關;
b、記錄在RecyclerView中的基本資訊。
c、是否需要被緩存Tag标志。
(3)recycleview.recycler
a、recyclerView中被緩存的Holder
緩存 儲存 存放
(内部類)
RecyclerView--》holder--》map--》Recycler
b.加入使用有多個recyclerView會公用一個RecyclerPool(緩存池)
與listview的差別:
(1)兩者沒有繼承實作等關系,分屬于不同的控件體系沒有關系;
(2)Type已經是Holder的成員;
(3)RcyclerView的緩存機關是Holder而不是View;
(4)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的增加和删除的動畫
recycleview的優缺點:
(1)優點:可以自定義布局,分割線等等優點
(2)缺點:對于點選,滑動長按等事件的處理沒有現成的方法,自能自己重新定義。