我一直在尝试在 gridlayout 管理器的 recyclerview 项目中使用项目装饰来添加边距。
override fun getItemOffsets(
outRect: Rect,
view: View,
parent: RecyclerView,
state: RecyclerView.State
) {
outRect.set(10,10,10,10)
}
但它不会为项目增加边距 没有为网格项添加边距的可能原因是什么?
答案 0 :(得分:0)
尝试像这样单独设置边距。
@Override
public void getItemOffsets(Rect outRect, View view,
RecyclerView parent, RecyclerView.State state) {
outRect.left = space;
outRect.right = space;
outRect.bottom = space;
// Add top margin only for the first item to avoid double space between items
if (parent.getChildLayoutPosition(view) == 0) {
outRect.top = space;
} else {
outRect.top = 0;
}
}
还要在recyclerView的XML中添加clipToPadding="false"