经常碰到一些场景,每个列表的第一个和最后一个可能间距不一样(意思就是说每个item统一设置一样的间距的话,会不符合自己的预期),此时我们有一个很好的做法就是自定义 ItemDecoration
上代码:
class ItemDecoration(val context: Context) : RecyclerView.ItemDecoration() {
override fun getItemOffsets(
outRect: Rect,
view: View,
parent: RecyclerView,
state: RecyclerView.State
) {
super.getItemOffsets(outRect, view, parent, state)
// 设置间距,比如除了第一个item,别的item的left都是6dp
if (parent.getChildAdapterPosition(view) != 0) {
outRect.left = 6f.dp2px.toInt()
}
}
}
当需要为RecyclerView列表的每个item设置不同的间距时,可以使用自定义的ItemDecoration。代码示例展示了一个简单的实现,将除第一个item外的其余item左边距设置为6dp,以此满足个性化间距需求。
1627

被折叠的 条评论
为什么被折叠?



