您的位置:首页 > 移动开发 > Android开发

RecyclerView+GridLayoutManager 间距

2017-04-23 10:26 645 查看
recyclerview 用的较少,最近需要改版某个页面,效果见文末图片。RecyclerView+GridLayoutManager,一开始只是简单地设置offset,发现图片大小不一致。最后按照以下策略计算公式,设置每个元素的offset才得以圆满实现,有可能有更好的方案,目前我还不得知。



X1+Y1+X2+Y2+……+Xn+Yn = 2*Ws+(n-1)*Wm
X1=Ws
Yn = Ws
X1+Y1 = X2+Y2 =……Xn+Yn = D
Y1+X2 = Y2+X3 =……Yn-1+ Xn = Ws

由4 得到:

Xi = D-Yi

由1&4 得到:

nD = 2*Ws+(n-1)*Wm

由4&5 得

Xi+1 - Xi =  Wm-D    等差数列
所以:

Xi = X1+ i*(Wm-D)/n 
至此,可得到 左右偏移量公式。依据此公式在getItemOffsets计算即可。

效果图:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息