RecyclerView中Item等间距

原文地址声明:http://blog.csdn.net/qq_23179075/article/details/69484371

最近在一个项目中要实现一个这样的效果:
在这里插入图片描述
也就是上面红线框中的部分的切换按钮,按钮整体的居中,且间距相等,按钮的样式也要随着是否选中来改变状态。

本来最开始是想使用RadioGroup+RadioButton来实现的,但是项目中的这个切换按钮的个数是动态的,有时候是3个,有时是2个,1个,或者没有,这时候用RadioGroup就非常不方便。

最后决定用RecyclerView来实现,感觉方便多了!,这里主要记录一下RecyclerView设置Item间距的方式:

源码

/**
 * 时 间: 2017/4/6
 * 作 者: 郑亮
 * Q  Q : 1023007219
 */

public class SpaceItemDecoration extends RecyclerView.ItemDecoration {
    //间距大小
    private int space;

    public SpaceItemDecoration(int space) {
        this.space = space;
    }

    @Override
    public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) {
        if (parent.getChildAdapterPosition(view) == 0) {
            //item是第一个的时候不设置间距
            outRect.left = 0;
        }else {
            outRect.left = space;
        }
    }
}

使用

 //设置图标的间距
 int spacingInPixels = getResources().getDimensionPixelSize(R.dimen.px168);
 recyclerView.addItemDecoration(new SpaceItemDecoration(spacingInPixels));
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值