EC8*_*4B4 29 android listview android-recyclerview
我刚刚开始使用RecyclerView,我发现它缺少很多功能,如页眉,页脚,分隔符,列表选择器,现在我对使用它而不是ListView有了第二个想法.
与ListView相比,RecyclerView有哪些优缺点?它可以处理比ListView更复杂的视图吗?
到目前为止我一直在使用ListView,有几次,是时候切换到RecyclerView还是现在太快了?
Ari*_*Roy 92
随着Android Lollipop的出现,RecyclerView正式成功.RecyclerView功能更强大,更灵活,是ListView的主要增强功能.我会尽力给你一个详细的见解.
好处
1)ViewHolder模式
在ListView中,建议使用ViewHolder模式,但它绝不是强制性的.对于RecyclerView,使用RecyclerView.ViewHolder类是必需的.这是ListView和RecyclerView之间的主要区别之一.
它使RecyclerView中的事情变得更复杂,但我们在ListView中遇到的许多问题都得到了有效解决.
2)LayoutManager
这是RecyclerView带来的另一项重大改进.在ListView中,唯一可用的视图类型是垂直ListView.甚至没有官方的方法来实现水平ListView.
现在使用RecyclerView,我们可以拥有一个
i)LinearLayoutManager - 支持垂直和水平列表,
ii)StaggeredLayoutManager - 支持交错列表等Pinterest,
iii)GridLayoutManager - 支持显示在Gallery应用程序中看到的网格.
最棒的是我们可以根据需要动态完成所有这些操作.
3)物品动画师
ListViews缺乏对良好动画的支持,但RecyclerView为它带来了全新的维度.使用RecyclerView.ItemAnimator类,动画视图变得如此简单直观.
4)项目装饰
对于ListViews,动态装饰项目(如添加边框或分隔线)绝非易事.但是在RecyclerView的情况下,RecyclerView.ItemDecorator类为开发人员提供了巨大的控制权,但却让事情变得更加耗时和复杂.
5)OnItemTouchListener
由于其AdapterView.OnItemClickListener接口,截取ListView上的项目很简单.但RecyclerView赋予更多的权力和控制它的开发由RecyclerView.OnItemTouchListener但它会使事情变得复杂一点的开发商.
缺点
i)它比列表视图更复杂.
ii)初学者可能需要花费大量时间才能完全理解RecyclerView.
iii)它可能会不必要地使您的编码生活变得困难.
iv)您需要花费更多的时间来使用ListView