1. 程式人生 > >Android之RecyclerView篇

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