【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的实现
456 0
RecyclerView定制:通用ItemDecoration及全展开RecyclerView的实现
|
搜索推荐 Java 开发工具
RecyclerView的那点事儿
RecyclerView的那点事儿
90 0
RecyclerView#smoothScrollToPosition调用RecyclerView#OnScrollListener的过程
项目中使用到了RecyclerView#smoothScrollToPosition(0)方法让Recyclerview滚动到顶部,同时给Recyclerview设置了监听器RecyclerView.OnScrollListener。
RecyclerView学习-RecyclerView#Adapter#notifyDataSetChanged是如何更新数据的?
RecyclerView学习-RecyclerView#Adapter#notifyDataSetChanged是如何更新数据的?
|
缓存 Android开发
Android RecyclerView 绘制流程及Recycler缓存(上)
RecyclerView 源码一万多行,想全部读懂学会挺麻烦的,感兴趣的可以自己去瞅瞅,这篇文章重点来看下 RecyclerView是如何一步步将每一个 ItemView 显示到屏幕上,然后再分析在显示和滑动过程中,是如何通过缓存复用来提升整体性能的。 RecyclerView本质上也是一个 自定义控件 ,因此我们可以沿着分析其 onMeasure -> onLayout -> onDraw 这 3 个方法的路线来深入研究。
247 0
Android RecyclerView 绘制流程及Recycler缓存(上)
深入讲解RecyclerView布局动画原理(二)
深入讲解RecyclerView布局动画原理(二)
深入讲解RecyclerView布局动画原理(二)
|
缓存 算法
深入讲解RecyclerView布局动画原理(一)
深入讲解RecyclerView布局动画原理(一)
深入讲解RecyclerView布局动画原理(一)
|
Java
【RecyclerView】 一、RecyclerView 最基本用法 ( 添加支持库 | 设置布局文件 | 自定义适配器 )
【RecyclerView】 一、RecyclerView 最基本用法 ( 添加支持库 | 设置布局文件 | 自定义适配器 )
746 0
【RecyclerView】 一、RecyclerView 最基本用法 ( 添加支持库 | 设置布局文件 | 自定义适配器 )
|
缓存 Android开发 容器
Android RecyclerView 绘制流程及Recycler缓存(下)
缓存复用原理 Recycler 缓存复用是 RecyclerView 中另一个非常重要的机制,这套机制主要实现了 ViewHolder 的缓存以及复用。
422 0
|
前端开发 Android开发
【RecyclerView】 六、RecyclerView.ItemDecoration 条目装饰 ( 简介 | onDraw | onDrawOver | getItemOffsets )
【RecyclerView】 六、RecyclerView.ItemDecoration 条目装饰 ( 简介 | onDraw | onDrawOver | getItemOffsets )
191 0