package com.doumee.lib_coremodel.view.recyclerview;
|
|
/**
|
* Created by MSI on 2018/5/31.
|
*/
|
|
import android.graphics.Rect;
|
import android.view.View;
|
|
import androidx.recyclerview.widget.RecyclerView;
|
|
/**
|
* 设置item间距
|
*/
|
public class SpacesDecorationWithCount extends RecyclerView.ItemDecoration {
|
private int space;//间隔
|
private int count;//数目
|
private int topSpace;
|
private int bottomSpace;
|
private int type=0;
|
|
public SpacesDecorationWithCount(int space, int count) {
|
this.space = space;
|
this.count=count;
|
}
|
|
public SpacesDecorationWithCount(int space, int count, int type) {
|
this.space = space;
|
this.count=count;
|
this.type=type;
|
}
|
|
public SpacesDecorationWithCount(int space, int count, int topSpace, int bottomSpace) {
|
this.space = space;
|
this.count = count;
|
this.topSpace = topSpace;
|
this.bottomSpace = bottomSpace;
|
}
|
|
@Override
|
public void getItemOffsets(Rect outRect, View view,
|
RecyclerView parent, RecyclerView.State state) {
|
outRect.bottom=bottomSpace;
|
outRect.top=topSpace;
|
|
// Add top margin only for the first item to avoid double space between items
|
/*if (parent.getChildPosition(view) == 0)
|
outRect.top = space;*/
|
float f = 1.0f/(count-1);
|
int space50 = (int) (space*f);
|
int space150 = space - space50;
|
int sp = (int) (space * 0.5f);
|
int sp1 = space150 - space50;
|
if(type==0){
|
int po=parent.getChildAdapterPosition(view)%count;
|
if (po == 0){
|
outRect.right = space150;
|
}else if(po==count-1){
|
outRect.left = space150;
|
}else {
|
outRect.left = space50;
|
outRect.right = sp1;
|
}
|
}else {
|
outRect.left=sp;
|
outRect.right=sp;
|
}
|
}
|
}
|