Pich Blog

关注移动开发,大数据,云计算,软件架构!

4.如何使用RecyclerView实现GridView的效果

概述

以前要显示格子效果都需要使用GridView,但是使用方法和ListView一样,可是有时候有需求要实现一会儿是ListView这样的效果,一会儿又要实现GridView的效果,你肯定会问,我嚓有这样的应用,你还别说真有,某宝就有这功能。如果你看了第一篇文章那么你肯定就知道只需要该LayoutManager就可以实现了。

设置布局管理器

在实现列表的基础上,只需要使用GridLayoutManager:

第二参数是控制显示多少列

第三个参数是控制滚动方向和LinearLayout一样

第四个参数是控制是否反向排列单这个分很多种情况

排列方式

VERTICAL+false

滚动方向是上下滚动,item排列方式是,0,1,2…。效果如下图:

VERTICAL+true

这方式滚动还是垂直方向,区别就是他的Item排列是反向的,也就是最后一行第一个是0,…,345,012。这样的。并且他会自动滚动到底部。就是这样的效果:

HORIZONTAL+false

滚动方向水平的,条目的排序方式是竖着的,第一列:0,1,2,第二列,3,4,5依次列推。

HORIZONTAL+false

滚动的方式还是水平的,唯一不同的倒数第一列是,1,2,3,倒数第二列是4,5,6列。

可以看到这几个模式还是很怪。

每个Item宽高一样

这个效果也很常用,意思是假如我们显示三列,但每一列的高度和他们的宽度一样。上一张图应该更容易明白点:

实现方法也很简单就是自定义Item,在onMeasure方法里面讲测量的宽度设置为他的高度。

SquareTextView.java

然后在布局里面这样使用。

这样一来就实现了我们需要的宽度和高度相等的效果了。敬请期待下一篇如何使用RecyclerView优雅的实现瀑布了。

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注