项目装饰未在 Gridlayout manager recyclerview 中的项目中添加边距

时间:2021-05-11 08:03:17

标签: android android-gridlayout gridlayoutmanager item-decoration

我一直在尝试在 gridlayout 管理器的 recyclerview 项目中使用项目装饰来添加边距。

override fun getItemOffsets(
        outRect: Rect,
        view: View,
        parent: RecyclerView,
        state: RecyclerView.State
    ) {

       outRect.set(10,10,10,10)
}

但它不会为项目增加边距 没有为网格项添加边距的可能原因是什么?

1 个答案:

答案 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"

相关问题