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计算即可。
效果图:
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计算即可。
效果图:
相关文章推荐
- AndroidRecyclerviewGridLayoutManager列间距 - Android Recyclerview GridLayoutManager column spacing
- Android Recyclerview GridLayoutManager列间距 - Android Recyclerview GridLayoutManager column spacing
- RecyclerView+GridLayoutManager展示时,间距问题~!
- AndroidRecyclerviewGridLayoutManager列间距 - Android Recyclerview GridLayoutManager column spacing
- RecyclerView设置背景图片长宽一样(以GridLayoutManager为例)
- Android Recyclerview GridLayoutManager column spacing
- 如何制作表格(三)——GridView + RecyclerView.GridLayoutManager
- RecyclerView--GridLayoutManager设置某个item占据的列数
- android RecyclerView GridLayoutManager setSpanSizeLookup 不执行(不调用)
- RecyclerView--GridLayoutManager设置某个item占据的列数
- Android-UI布局---RecyclerView学习(四)匹配GridLayoutManager的ItemDecoration
- 解决RecyclerView 使用 gridlayoutmanager 时item不居中问题
- Android 自定义RecyclerView.ItemDecoration(GridLayoutManager布局下)
- RecyclerView在GridLayoutManager情况下实现四周都有分割线的ItemDecoration
- RecyclerView使用GridLayoutManager实现九宫格布局 item居中对齐问题
- RecyclerView GridLayoutManager 自适应宽高
- RecyclerView GridLayoutManager 设置分割线 万能分割
- RecyclerView使用GridLayoutManager实现两种item
- RecyclerView复杂布局动态管理GridLayoutManager
- RecyclerView GridLayoutManager 居中问题