使用RecyclerView实现每三行一个间距并且带分隔符

本文介绍如何使用RecyclerView实现每三行显示一个较大间距并添加分隔符的布局效果。最初试图通过ListView内嵌GridView实现,但最终选择了RecyclerView,因为它提供了更高的自定义灵活性。参考了HongYang大神的旧文进行配置和改造,主要改动在于调整间隔算法,以满足特定的布局需求。横向分割线的实现存在一些问题,期待交流和改进。
摘要由CSDN通过智能技术生成

找不到当初的UI图了 只能做了个Demo截了个图。样子大概就是图中的样子。(不知道为什么图一直是横着的)

先说说需求吧,一行要求三个行业,每三行成为一个小分组,间距大概为普通间距 * 5,每个小行业后面带一个分割线,小分组的最后一个不带。

我最开始的想法是用 ListView 内部嵌套 GridView 来完成(偷懒的想法),当然 结果肯定不怎么样,不然也不会有这篇文章了。然后想到了RecyclerView,毕竟RecyclerView就是用来干这个的,自由度相对于其他的流式控件要高很多

RecyclerView 里面有个专门用来设置分割线的方法

public void addItemDecoration(ItemDecoration decor) {
    addItemDecoration(decor, -1);
}

一些具体RecyclerView 的配置与应用可以参考 HongYang大神的文章 虽然这文章已经比较老了

https://blog.csdn.net/lmj623565791/article/details/45059587

其他的方法都与上面文章里的没有太大出入,只是根据自己的需求做了些修改。主要改动还是在

public void getItemOffsets(Rect outRect, View view, Re
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值