Android RecyclerView详解(一)

Android RecyclerView 1.RecyclerView RecyclerView是Android 5.0推出的,是support-v7包中的新组件,它被用来代替ListView和GridView,并且能够实现瀑布流的布局,更加高级并且更加灵活,提供更为高效的回收复用机制,同时实现管理与视图的解耦合。RecyclerView提供了一种插拔式的体验,高度的解耦,异常的灵活,只需设置其提供的不同的LayoutManager,ItemAnimator和ItemDecoration,就能实现不同的效果。 RecyclerView的优点: ①支 阅读详情
Android RecyclerView详解(一)


RecyclerView
Android 5.0之后,谷歌公司推出了RecyclerView控件
一.什么是RecyclerView?
RecylerView是support-v7包中的新组件,是一个强大的滑动组件,与ListView相比,同样拥有item回收复用的功能,并且从它的名字recylerview即回收view也可以看出。其他 可以自己去设置。可以看出其高度的解耦,给予你充分的定制自由。 替代ListView,GridView,可以实现垂直/水平显示的列表/瀑布流的效果,功能强大。在API的14无法使用RecycleView,所以要在项目管理页面,把RecyclerView添加到布局文件并关联兼容包(注意:低版本的安卓系统,要进行兼容包的关联)
步骤:按住control+alt+shift+s出现Project Structure按

二.与ListView相比RecyclerView有什么优点?
1.RecylerView封装了viewholder的回收复用,就是说RecylerView标准化了ViewHolder,编写Adapter面向的是ViewHolder而不再是View了,复用的逻辑被封装了,写起来更加简单。
2.提供了一种插拔式的体验,高度的解耦,异常的灵活,针对一个Item的显示RecylerView专门抽取出了相应的类,来控制Item的显示,使其的扩展性非常强。例如:你想控制横向或者纵向滑动列表效果可以通过LinearLayoutManager这个类来进行控制(与GridView效果对应的是GridLayoutManager,与瀑布流对应的还有StaggeredGridLayoutManager等),也就是说RecylerView不再拘泥于ListView的线性展示方式,可以实现GridView,瀑布流等多种效果。控制Item的分隔线,可以通过继承RecylerView的ItemDecoration这个类,然后针对自己的业务需求去抒写代码。
3.可以控制Item增删的动画,可以通过ItemAnimator这个类进行控制,当然针对增删的动画,RecylerView有其自己默认的实现。

三.RecyclerView用法
了解了RecylerView的优势,首先我们需要明白RecylerView必须导入support-v7包,因为RecylerView高度的解耦,异常的灵活。
谷歌给我们提供了多个类来控制Item的显示
1. 控制显示的方式,可以通过布局管理器LayoutManager(以LinearLayout为例)
2.控制布局方向,可以通过setOrientation
3.控制适配器,可以通过setAdapter
4.控制Item间的间隔(可绘制),可以通过ItemDecoration
5.控制Item增删的动画,可以通过ItemAnimator
LinearLayoutManager layoutManager = new LinearLayoutManager(this );
//设置布局管理器  
recyclerView.setLayoutManager(layoutManager);
//设置为垂直布局,这也是默认的  
layoutManager.setOrientation(OrientationHelper. VERTICAL);
//设置Adapter  
recyclerView.setAdapter( recycleAdapter);
//设置分隔线  
recyclerView.addItemDecoration( new DividerGridItemDecoration(this ));
//设置增加或删除条目的动画  
recyclerView.setItemAnimator( new DefaultItemAnimator());  
RecyclerView还需要一个menu菜单栏
在这里只给出代码,menu菜单栏详解请点击:Munu菜单栏详解
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android
Android RecyclerView使用详解(含通过网络请求得到数据) RecyclerView是Android中非常受欢迎的控件,RecyclerView是官方在Android5.0之后新添加的控件,推出用来替代传统的ListView和GridView列表控件,所以如果你还在使用ListView的话可以替换为RecyclerView了。对于RecyclerView的使用根据实际项目进行说明,一些功能可能是你现在正在做的,对你有帮助也说不定。 阅读详情

相关推荐

Android RecyclerView基础使用方法

Android RecyclerView 基础使用方法

weixin_56502115的博客 1810

Android RecyclerView23.2.0的一点小变化(RecyclerView中Item占一屏解决方案)

RecyclerView23.2.0的一点小变化和RecyclerView中Item占全屏解决方案

淡漠的专栏 1223

Android打造自己的RecyclerView之通用Adapter(一)

首先,为什么是RecyclerView? 无疑,RecyclerView比ListView、GridView都要好。另外2个,甚至可以不用学。 其次,为什么要打造通用Adapter? 先谈效果,在没有通用Adapter之前,你需要写一个嵌套了ViewHolder的Adapter。而现在,只需要使用通用的Adapter,在使用的时候,重写一下bind方法即可。大大减少了代码量,提升了重

qq_36523667的博客 673

Android列表布局专题(一)RecyclerView

前言:RecyclerView是Android一个更强大的控件,其不仅可以实现和ListView同样的效果,还有优化了ListView中的各种不足。 本文目的:通过简单的例子,讲解RecyclerView的使用、自定义RecyclerView子项的点击事件以及长按事件 本文Demo下载地址:https://github.com/ShaoWangYun/SlideViewDemo 最终效果图: 一、布局文件: 1.activity_recycler_view.xml <?xml ..

ShaowangyunBlog的博客 517

Android开发之最新Recyclerview控件的使用详解(一)

本篇博文主要给大家分享关于RecyclerView控件的使用及通过继承RecyclerView来实现滑动时加载图片的优化方案,也同样能解决防止图片乱序的问题,之前有在网上有看到大神对Android中ListView异步加载图片乱序问题进行过分析,并深入剖析原理后分别给出了3种对应的解决方案:一 、使用findViewWithTag。二、使用弱引用关联。三、使用ImageLoad框架进行处理。

qq_36430886的博客 2397

Android控件——RecyclerView系列一(基本使用)

1. RecyclerView介绍 从Android 5.0开始,谷歌公司推出了一个用于大量数据展示的新控件RecylerView,可以用来代替传统的ListView,更加强大和灵活。 RecyclerView定义在support库当中,想要使用该控件,需要在项目的build.gradle中添加相应的依赖库。在app/build.gradle文件,在dependencies闭包中添加: impl...

zhewen的博客 883

Android 控件之 RecyclerView(一)—— 加载视图和布局选择

首先说明,本篇博客是个人写的第一篇博客,可能会存在一些错误或者书写不规范,如果出现任何错误或者不足,欢迎私信我,一起进步!我会尽力将自己学到的知识条理、清晰地进行展示,现在开始本篇正文内容。

Marck的博客 1176

Android从源码分析RecyclerView四级缓存复用机制一(缓存ViewHolder)

2.再看一下主要的方法调用流程,从RecyclerView的onMeasure方法开始一直到三个存储的地方一级,二级和四级缓存,别问为啥没有mViewCacheExtension,问就是这个你需要自己去存。//mCachedViews屏幕外缓存的存储上限默认为DEFAULT_CACHE_SIZE也就是2,可变。//四级缓存当屏幕外缓存的大小大于2,便放入mRecyclerPool中缓存。//三级缓存自定义缓存,自己定义的缓存规则。//Viewholder存储到四级缓存。//默认屏幕外缓存大小。

2401_89693823的博客 971

RecyclerView添加ContextMenu的两种方案详解

RecyclerView+ContextMenu实现的技术难点主要是在RecyclerView中获取被点击item的position,本文一共给出了两种解决方案。

Markus 4281

Android RecyclerView总结

#.简介 RecyclerView用于展示列表,是Android5.0之后引入的用于替换ListView的组件,但功能比ListView强大得多,可实现竖向、横向、网格式、流式等多种布局。 RecyclerView中每个Item都对应一个ViewHolder,ViewHolder中存储着对应的界面View和其在RecyclerView中的索引位置。 这些ViewHolder由Adapter来负责提供,Adapter负责告诉RecyclerView一共有多少个item,负责为每个...

u013914309的博客 1751

android中recyclerview中嵌套switch

为了实现在设备旁边加载一个swith实现使用switch开关设备功能 recycler中嵌套switch,实现点击功能或者监听状态改变时经常会出现复用或者代码崩溃事件,以下代码本地实现并测试没有问题 #item对应的实体类 public class Device_recycle { private String deviceName;//名称 private Boolean de...

L_banxian的博客 715

Android实现RecyclerView侧滑删除和长按拖拽

RecyclerView实现拖拽排序侧滑删除效果 事先说明: RecyclerView是ListView的升级版,使用起来比ListView更规范,而且功能和动画可以自己添加,极容易扩展,同样也继承了ListView复用convertView和ViewHolder的优点。 思路分析: 1、导包、在布局中使用RecyclerView 2、需要一个

ap____lLix1的博客 2736

Android RecyclerView之SnapHelper原理解析(一)

想要了解SnapHelper的工作原理,就要知道Android View的滚动原理和RecyclerView的滚动原理,刚好博主对这方面写了详细的博客,在阅读本篇博文之前,建议对于View的滚动原理尚不熟悉的猿人们读一下博主的下面几篇博客,算是知识储备,当然不读也基本不影响本片博文的阅读: 《View的滚动原理简单解析》 《View的滚动原理简单解析(二)》 《ViewDragHelper的简单分...

菜鸟博客 1869

Android app 自定义可横竖滑动的RecyclerView(一)

在app开发中,有时候竖屏的时候 在绘制一张表格的时候,而表格列数行数都比较多的时候,这时候就需要 支持列表横竖屏都能滑动才行 所以就需要自定义RecyclerView 支持横竖滑动 1.提供适配器 接口 给自定义横竖滑动 适配器调用 import android.view.ViewGroup; import androidx.recyclerview.widget.RecyclerView; public abstract class PanelAdapter { public abst

安卓兼职framework和app工程师的博客 1320

一起Talk Android吧(第三百七十九回:让ViewPager一屏幕显示三页)

本章回中主要介绍ViewPager一屏显示三页的概念以及实现一屏三页的方法,同时配有具体的代码和运行效果。

talk_8的专栏 1763

可乐学习NVMe之一:为什么SSD需要NVMe

1. NVMe SSD 结构简图 整体来看,NVMe SSD可以分为三部分,host端的驱动NVMe Driver、PCIe+NVMe实现的控制器以及NAND Flash+DDR4/DDR5存储介质。 芯片回片后Host侧软件或者驱动开发主要在应用层,通过一些测试工具进行benchmark跑分测试,performance性能分析,latency分析、stress-testing等等: 那么,接下来阐述为什么SSD需要NVMe,并再后续的文章介绍NVMe协议分析,个人针对协议的理解,如果有不当之处,还请各

Lucky 3168

ADS负载牵引仿真避坑指南:从零开始搞定Loadpull模板设置

本文是一份针对ADS负载牵引仿真的深度避坑指南,详细解析了Loadpull模板从初始化配置到结果解读的全过程。文章重点阐述了如何根据设计目标灵活设置扫描圆、采样点等关键参数,以解决仿真不收敛、结果不完整等常见问题,并指导读者在功率与效率之间做出理性权衡,最终提取出用于匹配网络设计的最优负载阻抗。

weixin_29234423的博客 595

中国银行信息科技岗位笔试

收到笔试只剩四天了,收集的资料,后续会更新

weixin_46050242的博客 4592

PVT(Process Voltage Temperature)

芯片PVT

网始如芯个人博客 3万+

在 TASKPROCESSING 上为 ABAP OData 服务添加多个系统别名:从原理到落地的完整实践

本文面向SAP Gateway与ABAP开发者,详细讲解如何在TASKPROCESSING OData服务上添加系统别名。首先介绍了系统别名的概念与设计初衷,阐述了添加别名的业务场景需求,包括多系统接入、用户分流和灰度发布等。随后提供了标准配置步骤,从SPRO路径到具体操作说明,并分享了三个实际案例说明如何实现跨区域统一待办、按用户角色分流和灰度发布。最后给出了验证方法和常见问题解决方案,帮助开发者掌握这项基础但关键的配置技能,实现服务路由的可控管理。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 137

vue2 - elementUI表格table树形结构复选框勾选父子联动示例,el-table树状表格tree复选框checkbox多选框全选/反选取消children(当子级全选中,父级自动勾选)

vue2,elementui,el-table树状表格多选,树形结构结合多选框使用,实现单选父子联动全选反选,勾选联动父级勾选,表格多选check父子联动,table表格children如何嵌入复选框,el-table使用多选框与树形数据写一个有半选全选功能的表格,el-table树形表格实现复选框多选效果,表格树状结构多选,每一个row都可以选中并且联动全选按钮,table选父带子选子带父,树形数据与懒加载,Table表格树形结构多选框选中父级时会选中子级,elementUI表格里树形结构嵌套复选框全选全

✅ 精选推荐文章 1万+

18、公开可用的PPG数据库介绍

本文介绍了多个公开可用的PPG(光电容积描记)数据库,包括PPG-BP数据库、MIMIC II波形数据库、运动期间手腕PPG数据库以及指尖PPG与呼吸数据库等。这些数据库提供了丰富的生理信号数据,适用于动脉血压检测、呼吸频率估计、运动干扰去除以及基于PPG的生物特征识别等研究。每个数据库的数据来源、受试者信息、信号特点和下载方式均有详细介绍,并展示了如何利用这些数据库进行信号分析和算法评估。

salt的博客 388

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

上一篇: Android Menu菜单栏
下一篇: Android MediaPlayer详解视屏播放之VideoView(三)
Android开发-CXY
博客等级 码龄10年 33粉丝 57原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值