Android中RecyclerView的使用

RecyclerView簡介

? ? RecyclerView是Google2014年I/O大會推出的一種新的視圖控件,該控件繼承自ViewGroup,并實現(xiàn)了ScrollingView, NestedScrollingChild接口。通過重復(fù)利用有限數(shù)量的視圖,RecyclerView能夠比較高效的顯示大量數(shù)據(jù)集,比ListView更加靈活高效。

? ? 官方介紹文檔傳送帶:https://developer.android.com/intl/zh-cn/training/material/lists-cards.html

RecyclerView主要元素

LayoutManager:布局管理器;布局管理器主要有三個功能:確定RecyclerView內(nèi)部各個項目視圖的位置;管理RecyclerView內(nèi)項目視圖的循環(huán)利用;管理RecyclerView的滾動操作。

RecyclerView就是通過布局管理器的循環(huán)利用機制實現(xiàn)性能提升的。當一個項目視圖不可見時,就可以將這個項目視圖的布局文件進行循環(huán)利用,即用當前需要顯示的內(nèi)容替換該項目視圖的內(nèi)容,從而減少不必要的findViewById()操作,提高性能。

目前官方提供了LinearLayoutManager的實現(xiàn)類,一般來說使用該實現(xiàn)類就可以實現(xiàn)基本的功能,不過用戶也可以擴充該類實現(xiàn)自定義的布局管理器。

RecyclerView.Adapter:適配器,RecyclerView適配器內(nèi)部包含一個ViewHolder類,一個ViewHolder代表一個項目視圖,通過ViewHolder實現(xiàn)項目視圖的重復(fù)利用。

RecyclerView

ItemAnimator:動畫。可以使用官方提供的默認動畫,也可以擴充RecyclerView.ItemAnimator類并使用RecyclerView.setItemAnimator()方法實現(xiàn)自定義動畫。官方主要提供了添加項目和刪除項目的動畫。

RecyclerView使用步驟

添加依賴:compile'com.android.support:recyclerview-v7:+'

定義布局:在xml布局文件中添加RecyclerView并定義RecyclerView內(nèi)部各個item的布局文件

定義適配器:擴充RecyclerView.Adapter類實現(xiàn)自定義的適配器

使用RecyclerView:在activity的onCreate方法中獲取布局文件中的RecyclerView控件并進行基本的設(shè)置,然后為RecyclerView添加布局管理器和適配器

布局文件:

主布局文件
項目布局文件

代碼:

ViewModel類
Adapter類
RecyclerView的使用

運行效果:


效果示意
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,175評論 25 708
  • 內(nèi)容抽屜菜單ListViewWebViewSwitchButton按鈕點贊按鈕進度條TabLayout圖標下拉刷新...
    皇小弟閱讀 47,166評論 22 665
  • 抽屜菜單 MaterialDrawer★7337 - 安卓抽屜效果實現(xiàn)方案 Side-Menu.Android★3...
    彬哥狠逍遙閱讀 6,000評論 4 59
  • 心中感覺有千言萬語,每每拿起筆卻總是磕磕絆絆,不是匆匆結(jié)束就是索性放棄,看著別人一個個漸行漸遠,眼紅了很多次,發(fā)誓...
    小小二萌閱讀 297評論 4 1
  • 我是2012年3月進入茶行業(yè)的,迄今五年有余,一直未曾離開這個行業(yè)。 在談感受之前,先和朋友們分享一下這五年的茶事...
    譚澤榮閱讀 683評論 0 2

友情鏈接更多精彩內(nèi)容