listview 和 recyclerview 的比较
来源:互联网 发布:趣分期走淘宝套现 编辑:程序博客网 时间:2024/06/05 09:50
我们都知道在Android中listView 和 recyclerView都可以实现列表页的展示,那么他们之间都有什么样的区别呢。1、viewHolder,viewHolder 是用来保存视图引用的类。在listView中因为listView中没有严格的viewHolder设计模式,这也只是一种推荐的使用方式,所以通过创建viewHolder来提升性能不是必须的。只是不使用viewHolder的话,listView每次getView()的时候都会调用findViewById(int),这样导致浪费性能,展示迟缓。而在recyclerView中必须使用RecyclerView.ViewHolder。2、列表页item的展现形式,listView只能在垂直方向上滚动,API没有提供listView在水平方向上的滚动的支持。而recyclerView可以通过设置RecyclerView.LayoutManager来定制不同风格的视图,例如:a、LinearLayoutManager,可以支持水平和竖直方向上滚动的列表。b、StaggeredGridLayoutManager,可以支持交叉网格风格的列表,类似于瀑布流或者Pinterest。c、GridLayoutManager,支持网格展示,可以水平或者竖直滚动。 3、Item动画,在ListView中没有提供任何方法或者接口,方便开发者实现Item的增删动画。相反地,可以通过设置RecyclerView的RecyclerView.ItemAnimator来为条目增加动画效果。另外还可以使用DefaultItemAnimator。 4、设置数据源,在LisView中针对不同数据封装了各种类型的Adapter,比如用来处理数组的ArrayAdapter和用来展示Database结果的CursorAdapter。相反地,在RecyclerView中必须自定义实现RecyclerView.Adapter并为其提供数据集合。 5、设置条目之间的分割线,在ListView中可以通过设置android:divider属性来为两个Item间设置分割线。RecyclerView添加此效果,则必须使用RecyclerView.ItemDecoration,这种实现方式不仅更灵活,而且样式也更加丰富。 6、设置点击事件,在ListView中存在AdapterView.OnItemClickListener接口,用来绑定条目的点击事件。而在RecyclerView中,并没有提供这样的接口,不过,提供了另外一个接口RcyclerView.OnItemTouchListener,用来响应条目的触摸事件。
阅读全文
0 0
- ListView 和RecyclerView的比较
- RecyclerView和listview的比较
- listview 和 recyclerview 的比较
- ListView和RecyclerView比较
- RecyclerView与ListView的缓存机制比较
- RecyclerView 和 ListView的区别
- RecyclerView和ListView的异同
- RecyclerView和ListView的异同
- RecyclerView和ListView的异同
- RecyclerView和ListView的异同
- RecyclerView和ListView的异同
- RecyclerView和ListView的异同
- RecyclerView和listview的区别
- RecyclerView 和 ListView 的区别和联系
- Android控件RecyclerView和ListView的异同
- Android控件RecyclerView和ListView的异同
- Android控件RecyclerView和ListView的异同
- ListView和RecyclerView的分类型
- js各种小功能大合集
- Unity 防止屏保问题
- Mac下安装SecureCRT客户端
- LeetCode
- VLOOKUP 函数
- listview 和 recyclerview 的比较
- hi
- webpack.config.js
- 选择图片上传,9张不一样的图片的删除和记录
- 66.二叉树的前序遍历
- 如何获取apk的签名信息?
- python中range()函数和xrange()函数浅析
- Unity Activator反射
- 201509-1数列分段