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设计模式.

0 0
原创粉丝点击