美文网首页
解决RecyclerView的Item之间有空隙的问题

解决RecyclerView的Item之间有空隙的问题

作者: sukinai | 来源:发表于2019-01-12 13:53 被阅读6次
捕获.PNG

今天在用RecyclerView做一个横向视图的时间轴控件时发现item之间总有一些空隙,而且明明子item之间的padding为0,在上网找到可以通过addItemDecoration来改变item之间的间隔

public class SpacesItemDecoration extends RecyclerView.ItemDecoration {
    private int space;

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

    @Override
    public void getItemOffsets(Rect outRect, View view,
                               RecyclerView parent, RecyclerView.State state) {
        outRect.left = space;
        outRect.right = space;
        //解决Item之间总是有空隙的问题,根据需要设置左右间隔为负数解决问题
        //outRect.bottom = space;

        // Add top margin only for the first item to avoid double space between items
        //if (parent.getChildPosition(view) == 0)
            //outRect.top = space;
    }
}

先重写RecyclerView.ItemDecoration方法设置Item边距

mRecyclerView.addItemDecoration(new SpacesItemDecoration(-3));

最后为RecyclerView加一个addItemDecoration为-3解决间隙的问题

相关文章

网友评论

      本文标题:解决RecyclerView的Item之间有空隙的问题

      本文链接:https://www.haomeiwen.com/subject/ysxcdqtx.html