kotlin开发,给RecyclerView的item设置水平和垂直间距
时间: 2023-11-16 18:26:44 浏览: 148
要给RecyclerView的item设置水平和垂直间距,可以通过在RecyclerView的LayoutManager中设置ItemDecoration来实现。具体步骤如下:
1. 创建一个类继承自RecyclerView.ItemDecoration。
2. 在该类中重写getItemOffsets()方法,设置Item之间的间距。
3. 在RecyclerView的LayoutManager中设置该ItemDecoration。
以下是一个示例代码:
```kotlin
class SpacingItemDecoration(
private val horizontalSpacing: Int,
private val verticalSpacing: Int
) : RecyclerView.ItemDecoration() {
override fun getItemOffsets(
outRect: Rect,
view: View,
parent: RecyclerView,
state: RecyclerView.State
) {
outRect.right = horizontalSpacing
outRect.bottom = verticalSpacing
}
}
```
在RecyclerView的LayoutManager中设置该ItemDecoration:
```kotlin
val horizontalSpacing = resources.getDimensionPixelSize(R.dimen.horizontal_spacing)
val verticalSpacing = resources.getDimensionPixelSize(R.dimen.vertical_spacing)
recyclerView.addItemDecoration(SpacingItemDecoration(horizontalSpacing, verticalSpacing))
```
其中,R.dimen.horizontal_spacing和R.dimen.vertical_spacing是在dimens.xml文件中定义的整数值,分别表示Item之间的水平间距和垂直间距。
阅读全文