使用 StaggeredGridLayoutManager 的 RecyclerView 中的项目之间的间距相等吗?

Jef*_*pez 5 android android-recyclerview

目前试图通过使用这个类来做到这一点:

public class EqualItemSpacingDecoration extends RecyclerView.ItemDecoration {

    private int space;

    public EqualItemSpacingDecoration(int space) {
        this.space = space;
    }

    @Override
    public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) {
        super.getItemOffsets(outRect, view, parent, state);
        outRect.bottom = space;
        if (parent.getChildLayoutPosition(view) < 2)
            outRect.top = space;
        if (parent.getChildLayoutPosition(view) % 2 == 0) {
            outRect.left = space;
            outRect.right = space / 2;
        } else {
            outRect.left = space / 2;
            outRect.right = space;
        }
    }

}
Run Code Online (Sandbox Code Playgroud)

并将其与以下代码一起使用:

recycler.addItemDecoration(new EqualItemSpacingDecoration(12));
Run Code Online (Sandbox Code Playgroud)

但间距不相等。下面屏幕截图中的第三项间距不正确: 第三项的间距不正确。

我将如何解决这个问题?