Android RecyclerView使用GridLayoutManager間距設置
阿新 • • 發佈:2018-05-16
col auto AC manager AS -c int ets rect
Paste_Image.png
使用RecyclerView設置間距,需要重寫RecyclerView.ItemDecoration這個類。有如下的效果圖需要實現,間距只有中間的格子和底部的格式之間有。
![技術分享圖片](http://upload-images.jianshu.io/upload_images/416179-43070f7bca2f9cbb.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/378)
實現方法很簡單,因為這個效果是每一行有3個格子,只要每行的第一個格式左邊間距為0即可以。其他都設置左邊距和底部距離。
代碼如下:
public class SpaceItemDecoration extends RecyclerView.ItemDecoration { private int space; public SpaceItemDecoration(intspace) { this.space = space; } @Override public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) { //不是第一個的格子都設一個左邊和底部的間距 outRect.left = space; outRect.bottom = space; //由於每行都只有3個,所以第一個都是3的倍數,把左邊距設為0if (parent.getChildLayoutPosition(view) %3==0) { outRect.left = 0; } } }
Android RecyclerView使用GridLayoutManager間距設置