天天看点

Android RecyclerView中实现自定义GridView的方式(实现不同item)

中文网站上,有关RecyclerView的文章实在是太少了,初次接触到RecyclerView,我便发现了它的强大之处,并且深深的爱上了它,下面我写一点在我工作中遇到的问题,并用RecyclerView得到了解决。

控件理解:RecyclerView,顾名思义,仅是提供了一个视图回收机制的控件,它可以以任何方式呈现在大家面前,只要满足大量数据与视图绑定,且视图需要滚动回收条件的,我们都可以使用它,当然它也有几个模版,如类似于ListView的LinearLayoutManager,类似于GridView的GridLayoutManager,还有类似于瀑布流的 StaggeredGridLayoutManager。

关于如何实现RecyclerView,由于网上已有类似文章,且讲的比较清晰,在此我就不累述了。

说两点需要注意的:

 1、虽然已经设置了GridLayoutManager中的列数或者行数,但可以通过GridLayoutManager.setSpanSizeLookup改变它,且改变后,之后的item还是会延后依次排列。

 2、在写自己的RecyclerView.Adapter时,onCreateViewHolder(ViewGroup viewGroup, int viewType)中第二个参数viewType可以通过方法getItemViewType(int postion)自己定义,这就是完成自定义item的重点。