public static abstract class ItemDecoration {
//设置背景:在itemView绘制完成之前调用,也就是说此方法draw出来的效果将会在itemView的下面
public void onDraw(Canvas c, RecyclerView parent, State state) {
onDraw(c, parent);
}
//设置前景:与onDraw相反,draw出来的效果将叠加在itemView的上面
public void onDrawOver(Canvas c, RecyclerView parent, State state) {
onDrawOver(c, parent);
}
//设置Margin:通过配置outRect来设置itemView的inset边界,相当于设置itemView的margin
@Deprecated
public void getItemOffsets(Rect outRect, int itemPosition, RecyclerView parent) {
outRect.set(0, 0, 0, 0);
}
}
outRect 设置就是 item 4周的 magin ,然后配合 onDraw ,onDrawOver 方法操作
onDraw 相当于画背景,在 item 之前绘制,onDrawOver 相当于画前景,在 item 之后绘制