RecyclerView怎样设置行间隔
时间: 2023-09-11 08:05:56 浏览: 61
RecyclerView可以通过设置ItemDecoration来设置行间隔。具体实现步骤如下:
1. 创建一个类,继承自RecyclerView.ItemDecoration。
2. 在类中重写getItemOffsets()方法,设置每个ItemView的偏移量。
3. 在getItemOffsets()方法中,可以通过outRect参数设置ItemView的padding值,从而实现行间隔的效果。
下面是一个示例代码,演示如何设置RecyclerView的行间隔:
```
public class MyItemDecoration extends RecyclerView.ItemDecoration {
private final int mVerticalSpaceHeight;
public MyItemDecoration(int verticalSpaceHeight) {
this.mVerticalSpaceHeight = verticalSpaceHeight;
}
@Override
public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) {
outRect.bottom = mVerticalSpaceHeight;
}
}
```
上面的代码中,我们创建了一个名为MyItemDecoration的类,它继承自RecyclerView.ItemDecoration。在类的构造方法中,我们传入了行间隔的高度mVerticalSpaceHeight。在getItemOffsets()方法中,我们通过outRect参数设置了每个ItemView的padding值,从而实现了行间隔的效果。
最后,在RecyclerView中设置ItemDecoration即可生效,示例代码如下:
```
int spacingInPixels = getResources().getDimensionPixelSize(R.dimen.spacing);
mRecyclerView.addItemDecoration(new MyItemDecoration(spacingInPixels));
```
上面的代码中,我们通过getResources().getDimensionPixelSize()方法获取了行间隔的高度值,然后通过addItemDecoration()方法将MyItemDecoration类设置到RecyclerView中。