public classSpacesItemDecorationextendsRecyclerView.ItemDecoration{
private intdividerHeight;
privatePaintpaint;
publicSpacesItemDecoration(Context context) {
dividerHeight= context.getResources().getDimensionPixelSize(R.dimen.margin);
paint=newPaint();
paint.setColor(context.getResources().getColor(R.color.colorAccent));
}
@Override
public voidgetItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) {
super.getItemOffsets(outRect, view, parent, state);
/**
* 類似加了一個bottom的padding
*/
outRect.bottom=dividerHeight;
}
@Override
public voidonDraw(Canvas c, RecyclerView parent, RecyclerView.State state) {
super.onDraw(c, parent, state);
intchildCount = parent.getChildCount();
intleft = parent.getPaddingLeft();
intright = parent.getWidth() - parent.getPaddingRight();
for(inti =0; i < childCount -1; i++) {
View view = parent.getChildAt(i);
floattop = view.getBottom();
floatbottom = view.getBottom() +dividerHeight;
/**
* 繪制的矩形也就是從乎完,item的左上角熏兄,到右下角,類似于背景囱怕,
* 正好顯示出一個橫線霍弹,就是getItemOffsets空出來的范圍
*/
c.drawRect(left, top, right, bottom,paint);
}
}
}