使用场景: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));

更多相关文章

  1. Android RadioGroup 横向显示(X行X列)
  2. ListView 可以滑动的上下间距
  3. Android横向拼接多个Bitmap
  4. 纵向开关
  5. Android利用GridView制作横向列表
  6. android字间距实现,textview字间距实现
  7. Android自定义view七时间轴(三)---纵向的图表时间轴
  8. Android自定义view七时间轴(二)---横向的图表时间轴
  9. Android GridView 横向滚动一行显示

随机推荐

  1. Android(安卓)命名规范 (提高代码可以读性
  2. 做好准备,让你的短信应用迎接Android(安卓
  3. Android(安卓)开发技术周报 Issue#292
  4. Android(安卓)中的dm-verity
  5. Android网络相关---上网流程
  6. Android音频系统之USB设备通路(Android(安
  7. EventBus3.0使用详解
  8. Android电源管理
  9. 用Android模拟器体验angry birds
  10. 64位 ubuntu android SDK 无法新建AVD,adb