在上一篇博客中,实现了用RecyclerView代替ListView,但是RecyclerView的功能还不仅如此,在本篇文章中,我们会用RecyclerView实现横向滚动和瀑布流布局。
本篇文章是上一篇介绍RecyclerView的继续,也就是说,本篇文章所出现的代码,是对第一篇文章改写的得到。
首先,为了实现横向滚动,我们需要把fruit_item里的元素改为竖直排列,修改fruit_item.xml
代码如下:
接下来修改MainActivity的代码,如下:
我们只是在里面加入了一行代码,调用LinearLayoutManager的setOrientation()方法来设置布局的排列方向,默认的排列方向为纵向,这里传入LinearLayoutManager.HORIZONTAL,表示让布局横向排列。
运行结果如图:
到目前为止我们的横向滚动已经实现,接下来,就是如何实现瀑布流布局了
首先,修改fruit_item.xml中的代码:
接着修改MainActivity的代码:
在onCreate()方法中,我们创建了一个StaggeredGridLayoutManager实例,StaggeredGridLayoutManager的构造函数接受2个参数,第一个参数指定布局的列数,第二个参数指定布局的排列方向.
运行效果如下:
到目前为止我们的横向滚动和瀑布流布局都已经实现了,但建议在实践瀑布流布局的时候,将水果的名字起得长度不同,这样运行起来效果会更加明显。