【RecyclerView】二、RecyclerView 简介 ( RecyclerView 特点 | RecyclerView 涉及到的类 )

简介: 【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 , 也可以 自定义实现各种奇形怪状的布局管理器 , 如自定义圆形的布局管理器 ;


上面的 3 33 个类 , 是使用 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


目录
相关文章
|
Android开发 开发者
RecyclerView定制:通用ItemDecoration及全展开RecyclerView的实现
RecyclerView定制:通用ItemDecoration及全展开RecyclerView的实现
416 0
RecyclerView定制:通用ItemDecoration及全展开RecyclerView的实现
|
搜索推荐 Java 开发工具
RecyclerView的那点事儿
RecyclerView的那点事儿
71 0
|
存储 缓存 开发工具
RecyclerView#Adapter#notifyDataSetChanged方法后,为何还会新建ViewHolder?
RecyclerView#Adapter#notifyDataSetChanged方法后,为何还会新建ViewHolder?
RecyclerView#smoothScrollToPosition调用RecyclerView#OnScrollListener的过程
项目中使用到了RecyclerView#smoothScrollToPosition(0)方法让Recyclerview滚动到顶部,同时给Recyclerview设置了监听器RecyclerView.OnScrollListener。
RecyclerView学习-RecyclerView#Adapter#notifyDataSetChanged是如何更新数据的?
RecyclerView学习-RecyclerView#Adapter#notifyDataSetChanged是如何更新数据的?
|
缓存 算法
深入讲解RecyclerView布局动画原理(一)
深入讲解RecyclerView布局动画原理(一)
深入讲解RecyclerView布局动画原理(一)
深入讲解RecyclerView布局动画原理(二)
深入讲解RecyclerView布局动画原理(二)
深入讲解RecyclerView布局动画原理(二)
|
Java
【RecyclerView】 一、RecyclerView 最基本用法 ( 添加支持库 | 设置布局文件 | 自定义适配器 )
【RecyclerView】 一、RecyclerView 最基本用法 ( 添加支持库 | 设置布局文件 | 自定义适配器 )
700 0
【RecyclerView】 一、RecyclerView 最基本用法 ( 添加支持库 | 设置布局文件 | 自定义适配器 )
|
前端开发 Android开发
【RecyclerView】 六、RecyclerView.ItemDecoration 条目装饰 ( 简介 | onDraw | onDrawOver | getItemOffsets )
【RecyclerView】 六、RecyclerView.ItemDecoration 条目装饰 ( 简介 | onDraw | onDrawOver | getItemOffsets )
164 0
|
存储 缓存 Java
RecyclerView问题汇总
目录介绍 25.0.0.0 请说一下RecyclerView?adapter的作用是什么,几个方法是做什么用的?如何理解adapter订阅者模式? 25.0.0.1 ViewHolder的作用是什么?如何理解ViewHolder的复用?什么时候停止调用onCreateViewHolder? 25.
3000 0