RecyclerView 和 ListView的区别
来源:互联网 发布:苹果音乐编辑软件 编辑:程序博客网 时间:2024/05/17 15:35
> Android 优雅的为RecyclerView添加HeaderView和FooterView--http://blog.csdn.net/lmj623565791/article/details/51854533
> RecyclerView 和 ListView 在 Android L 引入嵌套滚动机制之后的对比
Android 默认提供的 RecyclerView 就能支持 线性布局、网格布局、瀑布流布局 三种(这里我们暂且不提代码细节,后文再说),而且同时还能够控制横向还是纵向滚动。怎样,从效果上足以碾压 ListView 有木有。
横向滚动的ListView开源控件是不是可以不用再找了?对,你没看错!
瀑布流效果的开源控件是不是可以不用再找了?对,你没看错!
连横向滚动的GridView都不用找了!对,你没看错!
而 LayoutManager 只是一个抽象类而已,系统已经为我们提供了三个相关的实现类 LinearLayoutManager(线性布局效果)、GridLayoutManager(网格布局效果)、StaggeredGridLayoutManager(瀑布流布局效果)。
RecyclerView 基础使用关键点同样有两点:
继承重写 RecyclerView.Adapter 和 RecyclerView.ViewHolder
设置布局管理器,控制布局效果
RecyclerView 相比 ListView 在基础使用上的区别主要有如下几点:
ViewHolder 的编写规范化了
RecyclerView 复用 Item 的工作 Google 全帮你搞定,不再需要像 ListView 那样自己调用 setTag
RecyclerView 需要多出一步 LayoutManager 的设置工作
如果要给 ListView 的 Item 加动画,我们只能自己通过属性动画来操作 Item 的视图: https://github.com/nhaarman/ListViewAnimations
系统也为我们提供了两个默认的动画实现:SimpleItemAnimator 和 DefaultItemAnimator。而 RecyclerView 在不手动调用 setItemAnimator 的情况下,则默认用了内置的 DefaultItemAnimator 。
> 根据自己的使用场景来选择是要用 RecyclerView 还是 ListView:https://github.com/D-clock/AndroidSystemUiTraining
> ListView 的基础使用大家再熟悉不过,其使用的关键点主要如下:
继承重写 BaseAdapter 类
自定义 ViewHolder 和 convertView 一起完成复用优化工作
ListView 提供了 setEmptyView 这个 API 来让我们处理 Adapter 中数据为空的情况,只需轻轻一 set 就能搞定一切。代码设置和效果如下
mListView = (ListView) findViewById(R.id.listview);
mListView.setEmptyView(findViewById(R.id.empty_layout));//设置内容为空时显示的视图
> RecyclerView 和 ListView 在 Android L 引入嵌套滚动机制之后的对比
Android 默认提供的 RecyclerView 就能支持 线性布局、网格布局、瀑布流布局 三种(这里我们暂且不提代码细节,后文再说),而且同时还能够控制横向还是纵向滚动。怎样,从效果上足以碾压 ListView 有木有。
横向滚动的ListView开源控件是不是可以不用再找了?对,你没看错!
瀑布流效果的开源控件是不是可以不用再找了?对,你没看错!
连横向滚动的GridView都不用找了!对,你没看错!
而 LayoutManager 只是一个抽象类而已,系统已经为我们提供了三个相关的实现类 LinearLayoutManager(线性布局效果)、GridLayoutManager(网格布局效果)、StaggeredGridLayoutManager(瀑布流布局效果)。
RecyclerView 基础使用关键点同样有两点:
继承重写 RecyclerView.Adapter 和 RecyclerView.ViewHolder
设置布局管理器,控制布局效果
RecyclerView 相比 ListView 在基础使用上的区别主要有如下几点:
ViewHolder 的编写规范化了
RecyclerView 复用 Item 的工作 Google 全帮你搞定,不再需要像 ListView 那样自己调用 setTag
RecyclerView 需要多出一步 LayoutManager 的设置工作
如果要给 ListView 的 Item 加动画,我们只能自己通过属性动画来操作 Item 的视图: https://github.com/nhaarman/ListViewAnimations
系统也为我们提供了两个默认的动画实现:SimpleItemAnimator 和 DefaultItemAnimator。而 RecyclerView 在不手动调用 setItemAnimator 的情况下,则默认用了内置的 DefaultItemAnimator 。
> 根据自己的使用场景来选择是要用 RecyclerView 还是 ListView:https://github.com/D-clock/AndroidSystemUiTraining
> ListView 的基础使用大家再熟悉不过,其使用的关键点主要如下:
继承重写 BaseAdapter 类
自定义 ViewHolder 和 convertView 一起完成复用优化工作
ListView 提供了 setEmptyView 这个 API 来让我们处理 Adapter 中数据为空的情况,只需轻轻一 set 就能搞定一切。代码设置和效果如下
mListView = (ListView) findViewById(R.id.listview);
mListView.setEmptyView(findViewById(R.id.empty_layout));//设置内容为空时显示的视图
[Android优化进阶] 提高ListView性能的技巧 -- http://www.jianshu.com/p/3e22d53286ca#
ListView优化一直是一个老生常谈的问题,不管是面试还是平常的开发中,ListView永远不会被忽略掉,那么这篇文章我们来看看如何最大化的优化ListView的性能。
1.在adapter中的getView方法中尽量少使用逻辑
2.尽最大可能避免GC
3.滑动的时候不加载图片
4.将ListView的scrollingCache和animateCache设置为false
5.item的布局层级越烧越好
6.使用ViewHolder
0 0
- RecyclerView 和 ListView的区别
- RecyclerView和listview的区别
- RecyclerView 和 ListView 的区别和联系
- RecyclerView 和 ListView 区别
- ListView与RecyclerView的区别
- RecyclerView 和 ListView 性能和效果区别
- ListView 和RecyclerView的比较
- RecyclerView和ListView的异同
- RecyclerView和ListView的异同
- RecyclerView和ListView的异同
- RecyclerView和ListView的异同
- RecyclerView和listview的比较
- RecyclerView和ListView的异同
- RecyclerView和ListView的异同
- listview 和 recyclerview 的比较
- RecyclerView与ListView点击事件的区别
- RecyclerView 与ListView、GridView的区别
- Android控件RecyclerView和ListView的异同
- Get与Post的区别
- NDK环境搭建
- zookeeper安装与常用指令详解
- LeetCode-115.Distinct Subsequences
- 日期格式各字母的含义
- RecyclerView 和 ListView的区别
- react学习之redux(三)
- 关于mongodb的一些总结
- 杭电1231 最大连续子序列
- JavaScript判断立方数字
- 图形编程的基础知识——渲染流程(pipeline)
- 龟兔赛跑
- java学习之路 之 高级类特性2-关键字static、final、动态语句块结合的练习题
- [DP]Decorator设计模式