android recyclerView 设置item间的间距
16lz
2021-01-23
使用场景:recyclerview要通过代码设置item间的场景
解决方案:
1.重写RecyclerView.ItemDecoration方法,代码如下:
public class SpaceItemDecoration extends RecyclerView.ItemDecoration{ private int leftRight; private int topBottom;
//leftRight为横向间的距离 topBottom为纵向间距离
public SpaceItemDecoration(int leftRight, int topBottom) { this.leftRight = leftRight; this.topBottom = topBottom; } @Override public void onDraw(Canvas c, RecyclerView parent, RecyclerView.State state) { super.onDraw(c, parent, state); } @Override public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) { LinearLayoutManager layoutManager = (LinearLayoutManager) parent.getLayoutManager(); //竖直方向的 if (layoutManager.getOrientation() == LinearLayoutManager.VERTICAL) { //最后一项需要 bottom if (parent.getChildAdapterPosition(view) == layoutManager.getItemCount() - 1) { outRect.bottom = topBottom; } outRect.top = topBottom; outRect.left = leftRight; outRect.right = leftRight; } else { //最后一项需要right if (parent.getChildAdapterPosition(view) == layoutManager.getItemCount() - 1) { outRect.right = leftRight; } outRect.top = topBottom; outRect.left = leftRight; outRect.bottom = topBottom; } }}
2.使用方法:
第一个参数横向间距,第二个参数纵向间距,根据需求具体来看
recyclerview.addItemDecoration(new SpaceItemDecoration(0, 30));
更多相关文章
- Android RadioGroup 横向显示(X行X列)
- ListView 可以滑动的上下间距
- Android横向拼接多个Bitmap
- 纵向开关
- Android利用GridView制作横向列表
- android字间距实现,textview字间距实现
- Android自定义view七时间轴(三)---纵向的图表时间轴
- Android自定义view七时间轴(二)---横向的图表时间轴
- Android GridView 横向滚动一行显示