RecyclerView没有可以直接设置间距的属性,但可以用ItemDecoration来装饰一个item,所以继承重写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) { if(parent.getChildPosition(view) != 0) outRect.top = space; //竖直布局
//outRect.left = space; 水平的布局 } }
然后在使用RecyclerView的地方:
int spacingInPixels = getResources().getDimensionPixelSize(R.dimen.lift); mRecyclerView.addItemDecoration(new SpaceItemDecoration(spacingInPixels));
这样运行就可以看见效果了