【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 , 也可以 自定义实现各种奇形怪状的布局管理器 , 如自定义圆形的布局管理器 ;
上面的
个类 , 是使用 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
相关文章
- Elastic Stack——Elastic Stack简介和Elasticsearch核心详解
- Ceph CRUSH Map简介
- USB协议简介「建议收藏」
- AngularJS简介
- NFS(网络文件系统)简介及搭建
- 机器学习中的特征选择(变量筛选)方法简介
- 【数据挖掘】聚类算法 简介 ( 基于划分的聚类方法 | 基于层次的聚类方法 | 基于密度的聚类方法 | 基于方格的聚类方法 | 基于模型的聚类方法 )
- 【数学分析】学科简介 ( 初等数学缺陷 | 微分与积分 | 学习数学分析的目的 | 数学分析与高等数学对比 )
- 【Unity3D】资源文件 ② ( Unity 中场景文件简介 | 查看场景文件内容 | 场景文件相关操作 | 创建场景 | 打开场景 )
- MySQL数据库简介
- (一)spring cloud架构整合-springcloud简介详解架构师
- HTTP协议简介详解 HTTP协议发展 原理 请求方法 响应状态码 请求头 请求首部 java模拟浏览器客户端服务端编程语言
- Oracle集合类型的用法和特点简介(oracle集合类型)
- Oracle用户类型及其特点简介(oracle用户类型)
- Linux GeoIP技术简介及应用场景介绍(linuxgeoip)
- Linux下的锁定指令使用简介(linux锁定命令)
- Linux的独特之处——简介(简述linux的特点)
- Oracle表空间视图简介及使用方式(oracle表空间视图)
- MSSQL索引种类与特点简介(mssql索引有几种)
- MySQL三种用户及其特点简介(mysql三种用户)
- 灵活的Redis群部署模式简介(redis群部署模式)
- angular简介和其特点介绍