Android 在位置后使用ItemEdition装饰回收视图
可以从某个位置开始装修吗 在我的例子中,装饰是以像素为单位的元素之间的水平间距:Android 在位置后使用ItemEdition装饰回收视图,android,android-recyclerview,Android,Android Recyclerview,可以从某个位置开始装修吗 在我的例子中,装饰是以像素为单位的元素之间的水平间距: public class HorizontalSpaceItemDecoration extends RecyclerView.ItemDecoration { private final int mHorizontalSpaceHeight; public HorizontalSpaceItemDecoration(int mHorizontalSpaceHeight) { t
public class HorizontalSpaceItemDecoration extends RecyclerView.ItemDecoration {
private final int mHorizontalSpaceHeight;
public HorizontalSpaceItemDecoration(int mHorizontalSpaceHeight) {
this.mHorizontalSpaceHeight = mHorizontalSpaceHeight;
}
@Override
public void getItemOffsets(Rect outRect, View view, RecyclerView parent,
RecyclerView.State state) {
outRect.bottom = mHorizontalSpaceHeight;
}
}
因此,是否可以不在第一行之后添加此间距,并从第二行开始 只需将第一项从装饰中排除,如
public class HorizontalSpaceItemDecoration extends RecyclerView.ItemDecoration {
private final int mHorizontalSpaceHeight;
public HorizontalSpaceItemDecoration(int mHorizontalSpaceHeight) {
this.mHorizontalSpaceHeight = mHorizontalSpaceHeight;
}
@Override
public void getItemOffsets(Rect outRect, View view, RecyclerView parent,
RecyclerView.State state) {
int itemPosition = parent.getChildPosition(view);
if(itemPosition>0){ //here we are excluding 1st item
outRect.bottom = mHorizontalSpaceHeight;
}
}
}
只需将第一项从装饰中排除,如
public class HorizontalSpaceItemDecoration extends RecyclerView.ItemDecoration {
private final int mHorizontalSpaceHeight;
public HorizontalSpaceItemDecoration(int mHorizontalSpaceHeight) {
this.mHorizontalSpaceHeight = mHorizontalSpaceHeight;
}
@Override
public void getItemOffsets(Rect outRect, View view, RecyclerView parent,
RecyclerView.State state) {
int itemPosition = parent.getChildPosition(view);
if(itemPosition>0){ //here we are excluding 1st item
outRect.bottom = mHorizontalSpaceHeight;
}
}
}
工作得很有魅力。谢谢工作得很有魅力。谢谢