美文网首页
转载-RecyclerView中的item布局居中设置

转载-RecyclerView中的item布局居中设置

作者: 魏成 | 来源:发表于2017-01-22 16:14 被阅读491次

使用RecyclerView设置间距,需要重写RecyclerView.ItemDecoration这个类。有如下的效果图需要实现,间距只有中间的格子和底部的格式之间有。


 public class SpaceItemDecoration extends RecyclerView.ItemDecoration {

    private int space;

    public SpaceItemDecoration(int space) {
        this.space = space;
    }

    @Override
    public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) {
        //不是第一个的格子都设一个左边和底部的间距
        outRect.left = space;
        outRect.bottom = space;
//可自行设置left,top,right,bottom的间距属性
        //由于每行都只有3个,所以第一个都是3的倍数,把左边距设为0
        if (parent.getChildLayoutPosition(view) %3==0) {
            outRect.left = 0;
        }
    }

}
  • 可以对RecyclerView进行继承重写此方法

  • 或者找到RecyclerView的实例,加入以下代码:


  int spacingInPixels = mContext.getResources().getDimensionPixelSize(R.dimen.space);
            recyclerView.addItemDecoration(new SpaceItemDecoration(spacingInPixels));

R.dimen.space是values包下的资源文件,主要用于尺寸资源XML文件的使用,在这里R.dimen.space是需要自己测量的。

相关文章

网友评论

      本文标题:转载-RecyclerView中的item布局居中设置

      本文链接:https://www.haomeiwen.com/subject/enkobttx.html