RecyclerView没有可以直接设置间距的属性,但可以用ItemDecoration来装饰一个item,所以继承重写ItemDecoration就可以实现间距了
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
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;
}
}
|
1
2
|
int
spacingInPixels = getResources().getDimensionPixelSize(R.dimen.space);
mRecyclerView.addItemDecoration(
new
SpaceItemDecoration(spacingInPixels));
同理各个方向的间距也可以设置
|