Android知識體系總結2020之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像瀑布一樣排列。詳細介紹點擊以下傳送門:

  • 線性佈局管理器(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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章