package org.wikipedia.views; import android.content.Context; import android.graphics.Rect; import android.support.annotation.DimenRes; import android.support.annotation.NonNull; import android.support.v7.widget.RecyclerView; import android.view.View; public class MarginItemDecoration extends RecyclerView.ItemDecoration { private final Rect offsets = new Rect(); public MarginItemDecoration(@NonNull Context context, @DimenRes int id) { this(pixelSize(context, id)); } public MarginItemDecoration(@NonNull Context context, @DimenRes int leftId, @DimenRes int topId, @DimenRes int rightId, @DimenRes int bottomId) { this(pixelSize(context, leftId), pixelSize(context, topId), pixelSize(context, rightId), pixelSize(context, bottomId)); } public MarginItemDecoration(int margin) { this(margin, margin, margin, margin); } public MarginItemDecoration(int leftMargin, int topMargin, int rightMargin, int bottomMargin) { offsets.set(leftMargin, topMargin, rightMargin, bottomMargin); } @Override public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) { super.getItemOffsets(outRect, view, parent, state); outRect.set(offsets); } protected static int pixelSize(@NonNull Context context, @DimenRes int id) { return context.getResources().getDimensionPixelSize(id); } }