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

OCR开发实战:如何用PaddleOCR C++版实现本地文字识别(附模型文件处理技巧)

本文详细介绍了如何使用PaddleOCR C++版实现本地文字识别,包括环境搭建、工程编译、运行时优化等全流程。重点讲解了在VS2019/VS2022环境下配置PaddleOCR的CPU推理性能优化技巧,以及模型文件处理的实际应用方法,帮助开发者高效完成OCR本地化部署。

devops8pract的博客 334

C#菜鸟教程学习笔记

C#菜鸟教程学习笔记 C#简介 C# 是一种编程语言,它是由微软开发的。 C# 编程是基于 C 和 C++ 编程语言的,它与 Java 也非常相似。 C# 是 .Net 框架的一部分,且用于编写 .Net 应用程序。 .Net 框架(.Net Framework)能编写出下面类型的应用程序: ①Windows 应用程序 ②Web 应用程序 ③Web 服务 常用的C# 编程的开发工具:Visual Studio(VS:可视化工作室) C#程序结构 一个 C# 程序(C# 文件的后缀为 .cs)主要包括以下部分

mlc_WTMOTW的博客 4977

经典的YOLOv3和YOLOV5算法详解及代码复现

yolov3和yolov5算法详解及代码复现

hasakie的博客 770

【Unity 实用工具篇】| Unity中 实现背景模糊效果,简单易用

背景模糊 是一个很实用的功能,它可以帮助游戏在视觉上有更好的专注力和表现力。 实现模糊的种类和方式有很多种,大家自行选择适合自己的就可以了。 下面一起来看下本文实现背景模糊的效果和使用方式吧!

努力前行,总会成为自己心中的那道光 4万+

Lasso的原理及其与其他特征选择方法的比较进行阐述,然后讨论Lasso优点、缺点以及应用场景,最后给出了代码实例

在机器学习领域中,特征选择(feature selection)是指在模型训练前对数据集进行分析,选择其中有助于预测目标变量或影响模型性能的特征,去除不相关或冗余的特征,提升模型的泛化能力。而Lasso回归是一种很流行的用于特征选择的方法之一。Lasso回归(又称LASSO,least absolute shrinkage and selection operator)是一种线性模型中的特征选择方法。

AI天才研究院 3051

微信小程序 - 最新实现人脸识别认证功能,使用官方微信小程序人脸识别身份验证接口及常见的人脸核验、用户实名认证、身份证件与人脸是否匹配、是否活体、领取业务人脸认证等各种示例(验证活体人脸是否匹配源码)

微信小程序中实现人脸识别认证,微信小程序人脸识别认证-微信开放接口,如何为微信小程序添加人脸识别和身份验证功能,如何为微信小程序集成人脸识别与身份验证,微信人脸识别实名认证集成指南,识别失败,人脸识别接口怎么调用,前后端完整示例代码demo,微信小程序基于小程序实现人脸识别对比,人脸识别报错,微信人脸核身接口能力,微信小程序实名认证 人脸核验 人脸识别,微信小程序实名认证与人脸核身接口全解析,微信小程序-人脸识别+输出人脸匹配信息,微信小程序实名认证人脸核验人脸识别,微信小程序实名认证:wx.startFa

🏆 前端领域优质创作者 3273

STM32入门教程:图像处理

然后,我们使用 STM32 的 DSP 模块中的 arm_mean_u8 函数计算原始图像的平均值,并将结果存储在 meanValue 变量中。然后,我们需要编写代码配置 STM32 的外部中断输入引脚,并在中断处理函数中读取 OV7670 摄像头模块输出的图像数据。然后,我们需要编写代码配置 STM32 的 USB OTG 接口,并在回调函数中读取 USB 摄像头输出的图像数据。一、图像采集 图像采集是图像处理的第一步,我们需要将外部图像源的数据导入到 STM32 中进行处理。

2401_85625565的博客 1616

「UG/NX」BlockUI 控件集合目录大纲

Block UI Styler 模块设计对话框是官方推荐使用的对话框制作方法,它能够与NX自身风格相统一,在实际开发中经常使用。文字内容包含:NX所有控件介绍的链接、内部控件调用的基础介绍、官方案例查看路径、控件的特殊用法篇链接、番外篇链接。

何曾参静谧的博客 2674

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

上一篇: 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、付费专栏及课程。

余额充值