ItemDecoration 的使用 (一) 为 RecyclerView 的 item 设置 padding

3,565 阅读1分钟

下面来看看 ItemDecoration 的简单使用

使用 ItemDecoration 为 item 设置 padding

上下左右都设置padding的效果                            只有下部设置padding的效果

                 

使用方法:

先写一个 MyPaddingDecoration 继承 RecyclerView.ItemDecoration

public class MyPaddingDecoration extends RecyclerView.ItemDecoration {
    private int divider;

    public MyPaddingDecoration(Context context) {
        //即你要设置的分割线的宽度 --这里设为10dp
        divider = context.getResources().getDimensionPixelSize(R.dimen.divider);
    }

    @Override
    public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) {
        super.getItemOffsets(outRect, view, parent, state);
//        outRect.left = divider;  //相当于 设置 left padding
//        outRect.top = divider;   //相当于 设置 top padding
//        outRect.right = divider; //相当于 设置 right padding
        outRect.bottom = divider;  //相当于 设置 bottom padding
    }
}

10dp

再在setAdapter() 之前加上如下代码:

recyclerView.addItemDecoration(new MyPaddingDecoration(this));

完成~