public class SimpleItemDecoration extends RecyclerView.ItemDecoration {
private Paint paint;
private Context context;
public SimpleItemDecoration(Context context) {
this.context=context;
paint = new Paint();
paint.setAntiAlias(true);
paint.setStyle(Paint.Style.FILL);
paint.setColor(ContextCompat.getColor(context,R.color.colorDivider));
}
private int itemHeight;
@Override
public void getItemOffsets(@NonNull Rect outRect, @NonNull View view, @NonNull RecyclerView parent, @NonNull RecyclerView.State state) {
super.getItemOffsets(outRect, view, parent, state);
itemHeight = (int) (1 * context.getResources().getDisplayMetrics().density);
outRect.bottom = itemHeight;
}
@Override
public void onDraw(@NonNull Canvas c, @NonNull RecyclerView parent, @NonNull RecyclerView.State state) {
super.onDraw(c, parent, state);
float paddingLeftOrRight = 12.0f * context.getResources().getDisplayMetrics().density;
int childCount = parent.getChildCount();
for (int i = 0; i < childCount - 1; i++) {
View view = parent.getChildAt(i);
c.drawRect(view.getLeft() + paddingLeftOrRight,
view.getBottom(),
view.getRight() - paddingLeftOrRight,
view.getBottom() + itemHeight,
paint);
}
}
}
网友评论