Android Recyclerview GridLayoutManager column spacing

来源:互联网 发布:navicat for mysql语法 编辑:程序博客网 时间:2024/05/11 18:36

http://stackoverflow.com/questions/28531996/android-recyclerview-gridlayoutmanager-column-spacing


RecyclerViews support the concept of ItemDecoration: special offsets and drawing around each element. As seen in this answer, you can use

public class SpacesItemDecoration extends RecyclerView.ItemDecoration {  private int space;  public SpacesItemDecoration(int space) {    this.space = space;  }  @Override  public void getItemOffsets(Rect outRect, View view,       RecyclerView parent, RecyclerView.State state) {    outRect.left = space;    outRect.right = space;    outRect.bottom = space;    // Add top margin only for the first item to avoid double space between items    if (parent.getChildLayoutPosition(view) == 0) {        outRect.top = space;    } else {        outRect.top = 0;    }  }}

Then add it via

mRecyclerView = (RecyclerView) rootView.findViewById(R.id.my_recycler_view);int spacingInPixels = getResources().getDimensionPixelSize(R.dimen.spacing);mRecyclerView.addItemDecoration(new SpacesItemDecoration(spacingInPixels));

0 0
原创粉丝点击