RecyclerView的深入了解
来源:互联网 发布:c# python 编辑:程序博客网 时间:2024/05/18 01:57
RecyclerView的初步介绍
RecyclerView的解释
A flexible view for providing a limited window into a large data set.
(能够在有限的窗口中展示大数据集合的灵活视图。)
RecyclerView个人一直认为就是listivew的升级控件,但是官方解释说的很明白RecyclerView主要是灵活展示大量数据.所以RecyclerView不是简单的listivew升级
解释下RecyclerView的这个名字了,从它类名上看,RecyclerView代表的意义是,我只管Recycler View,也就是说RecyclerView只管回收与复用View,(RecyclerView的功能很简单只是展示view相关的,)其他的你可以自己去设置。可以看出其高度的解耦,给予你充分的定制自由.当然为了高度灵活性,付出了一些代价,listview的点击事件没有了也是需要自己去实现,有得有失了.
整体上看RecyclerView架构,提供了一种插拔式的体验,高度的解耦,异常的灵活,通过设置它提供的不同LayoutManager,ItemDecoration , ItemAnimator,可以根据需求灵活配置实现GridView,ListView的功能,只需要一个简单设置就可以了
● 你想要控制其显示的方式,请通过布局管理器LayoutManager(确定GridView,ListView的效果)
LinearLayoutManager 现行管理器,支持横向、纵向。
GridLayoutManager 网格布局管理器
StaggeredGridLayoutManager 瀑布就式布局管理器
● 你想要控制Item间的间隔(可绘制),请通过ItemDecoration(设置比较复杂,如果简单也可以在item的view中绘制)
● 你想要控制Item增删的动画,请通过ItemAnimator(非常强大的功能,适合自己添加动画)
● 你想要控制点击、长按事件,请自己写(付出的代价了)
示例代码
mRecyclerView = findView(R.id.id_recyclerview);
//设置布局管理器
mRecyclerView.setLayoutManager(layout);
//设置adapter
mRecyclerView.setAdapter(adapter)
//设置Item增加、移除动画
mRecyclerView.setItemAnimator(new DefaultItemAnimator());
//添加分割线
mRecyclerView.addItemDecoration(new DividerItemDecoration(
getActivity(), DividerItemDecoration.HORIZONTAL_LIST));
RecyclerView的优势
RecyclerView比listview更加的灵活,扩展性更好.
是RecyclerView为我们提供了很好的便利。而且RecyclerView增强了ViewHolder设计模式.
- RecyclerView的深入了解
- RecyclerView中item布局的"match_parent"属性失效--LayoutInflate的深入了解
- Android RecyclerView的简单了解
- 深入了解RecyclerView预布局状态(preLayout)
- Java的深入了解
- 深入的了解继承
- 内存的深入了解
- js的深入了解
- String的深入了解
- Handler的深入了解
- margin的深入了解
- 从RecyclerView的源码了解观察者模式
- 深入了解表格的属性
- 深入了解Oracle的体系结构
- 深入了解Java的String
- 深入了解Java的String
- c语言的深入了解
- 深入了解Java的String
- HDU-5546(简单DFS)
- ASP .NET MVC ORM概述
- C# 接口
- Hive函数大全
- 配置sharepoint 爬网遇到的坑
- RecyclerView的深入了解
- 如何在神箭手上快速开发爬虫——第二课 如何爬取JS动态生成的数据【豌豆荚游戏排行榜】
- 接收消息
- 数组划分--lintcode
- File.io读取文件(一)
- 欧拉回路 HDU
- ubuntu BCM43142 安装网卡驱动
- JS原型设计模式(四)之缺陷二
- 关于NSMutableArray线程安全的思考和实现