【RecyclerView】二、RecyclerView 简介 ( RecyclerView 特点 | RecyclerView 涉及到的类 )
文章目錄
- 一、RecyclerView 簡介
- 二、RecyclerView 特點
- 三、RecyclerView 涉及到的類
- 四、RecyclerView 相關資料
一、RecyclerView 簡介
RecyclerView 是 Google 官方提供的任何 基于適配器顯示的視圖 , 可以實現普通列表 ( ListView ) , 網格列表 ( GridView ) , 瀑布流 , 以及各種自定義形式的多容器布局 ;
RecyclerView 樣式與適配器等解耦 : RecyclerView 提供了插拔式體驗 , 實現的 Adapter 適配器與顯示樣式設置 高度解耦 , 在不改變 Adapter 適配器的前提下 :
- 通過設置不同的 LayoutManager , 就可以實現不同的 布局展示樣式 ;
- 通過設置不同的 ItemDecoration , 可以實現不同的 間隔樣式 ;
- 通過設置不同的 ItemAnimator , 可以實現不同的添加 刪除動畫 ;
以 " 設置不同的 LayoutManager , 就可以實現不同的布局展示樣式 " 為例 , 如 :
-
設置 LinearLayoutManager 布局管理器 , RecyclerView 展示的就是 橫向 / 縱向 的列表 ;
-
設置 GridLayoutManager 布局管理器 , RecyclerView 展示的就是 網格布局 ;
-
設置 StaggeredGridLayoutManager 布局管理器 , RecyclerView 展示的就是 瀑布流 樣式的布局 ;
二、RecyclerView 特點
RecyclerView 特點 :
① 功能強大 : 實現 表格 , 網格 , 瀑布流 , 自定義容器 等功能 ;
② 垃圾回收機制 : RecyclerView 的 垃圾回收機制很強大 , 遠超 ListView ;
③ ViewHolder 規范 : RecyclerView 避免了 ListView 中自定義 ViewHolder , 給出了相應的 規范 ;
三、RecyclerView 涉及到的類
RecyclerView 使用必須有的關鍵類 : RecyclerView.ViewHolder , RecyclerView.Adapter , LayoutManager ;
-
RecyclerView.ViewHolder 用于 定義 RecyclerView 中每個獨立元素的顯示的組件 , 創建時不關聯數據 , 創建后會在 RecyclerView.Adapter 適配器 的 onBindViewHolder 方法中為其關聯數據 ;
-
RecyclerView.Adapter 主要作用是 創建 RecyclerView.ViewHolder , 并為其綁定數據 ;
-
LayoutManager 布局管理器主要作用是 負責排列各個元素組件 , 可以使用系統提供的 線性布局管理器 LinearLayoutManager , 網格布局管理器 GridLayoutManager , 瀑布流布局管理器 StaggeredGridLayoutManager , 也可以 自定義實現各種奇形怪狀的布局管理器 , 如自定義圓形的布局管理器 ;
上面的 333 個類 , 是使用 RecyclerView 時 , 必須用到的類 , 沒有的話 , RecyclerView 便無法顯示 ;
此外還有一些可選的設置類 : ItemDecoration , ItemAnimator ;
- ItemDecoration 用于設置每個布局元素的 間隔樣式 ;
- ItemAnimator 用于設置布局元素的 動畫效果 , 如添加動畫 , 刪除動畫 等 ;
四、RecyclerView 相關資料
官方文檔 :
使用 RecyclerView 創建動態列表 : https://developer.android.google.cn/guide/topics/ui/layout/recyclerview
高級 RecyclerView 自定義 : https://developer.android.google.cn/guide/topics/ui/layout/recyclerview-custom
總結
以上是生活随笔為你收集整理的【RecyclerView】二、RecyclerView 简介 ( RecyclerView 特点 | RecyclerView 涉及到的类 )的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【OpenGL】二十四、OpenGL 纹
- 下一篇: 【RecyclerView】 三、Rec