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 SpacesItemDecoration extends RecyclerView.ItemDecoration {
|
private int space;
|
private int interval=-1;//间隔
|
private int topSpace;
|
private int type=-1;//0:左右,1:上下
|
|
//底部间距
|
public SpacesItemDecoration(int space) {
|
this.space = space;
|
}
|
|
//左右间距
|
public SpacesItemDecoration(int space, int interval) {
|
this.space = space;
|
this.interval=interval;
|
}
|
|
//顶部间距
|
public SpacesItemDecoration(int space, boolean isTop) {
|
if(isTop){
|
this.topSpace=space;
|
}else {
|
this.space = space;
|
}
|
}
|
|
public SpacesItemDecoration(int space, int interval, boolean isTop) {
|
if(isTop){
|
this.topSpace=space;
|
}else {
|
this.space = space;
|
}
|
this.interval=interval;
|
}
|
|
@Override
|
public void getItemOffsets(Rect outRect, View view,
|
RecyclerView parent, RecyclerView.State state) {
|
/*outRect.left = space;
|
outRect.right = space;
|
outRect.bottom=space;*/
|
outRect.bottom=space;
|
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;*/
|
if(interval!=-1){
|
if (parent.getChildPosition(view)%2 == 0){
|
outRect.right = interval/2;
|
}else {
|
outRect.left = interval/2;
|
}
|
}
|
}
|
}
|