mirror of https://github.com/KokaKiwi/BarInsta
31 lines
1.2 KiB
Java
Executable File
31 lines
1.2 KiB
Java
Executable File
package awais.instagrabber.customviews.helpers;
|
|
|
|
import android.graphics.Rect;
|
|
import android.view.View;
|
|
|
|
import androidx.annotation.NonNull;
|
|
import androidx.recyclerview.widget.GridLayoutManager;
|
|
import androidx.recyclerview.widget.RecyclerView;
|
|
|
|
public class GridSpacingItemDecoration extends RecyclerView.ItemDecoration {
|
|
private final int spacing;
|
|
|
|
public GridSpacingItemDecoration(int spacing) {
|
|
this.spacing = spacing;
|
|
}
|
|
|
|
@Override
|
|
public void getItemOffsets(@NonNull Rect outRect, @NonNull View view, @NonNull RecyclerView parent, @NonNull RecyclerView.State state) {
|
|
final RecyclerView.LayoutManager manager = parent.getLayoutManager();
|
|
if (manager instanceof GridLayoutManager) {
|
|
final int spanCount = ((GridLayoutManager) manager).getSpanCount();
|
|
final int position = parent.getChildAdapterPosition(view);
|
|
final int column = position % spanCount;
|
|
|
|
outRect.left = column * spacing / spanCount;
|
|
outRect.right = spacing - (column + 1) * spacing / spanCount;
|
|
if (position < spanCount) outRect.top = spacing;
|
|
outRect.bottom = spacing;
|
|
}
|
|
}
|
|
} |