54_ViewPagerIndicator设置指示点的间距

Android基础汇总

ViewPagerIndicator在github项目地址:https://github.com/JakeWharton/ViewPagerIndicator

Demo地址在本人的上传资源中,

 

mm

在使用PagerIndicator时有时我们需要设置指示点与指示点之间的距离,这时发现并没有对应的API,所以要修改

CirclePageIndicator的一部分代码,其实CirclePageIndicator的指示点并不居中,将点的大小设置很大就可以看出来,
重写代码:
找到CirclePageIndicator中的这一段代码
 
将其替换为如下代码:(mPadding为类的成员变量)
 
 
  if(mPadding == 0){
            mPadding = mRadius;
        }

        final float threeRadius = mRadius * 2+mPadding;
        final float shortOffset = shortPaddingBefore + mRadius;
        float longOffset = longPaddingBefore + mRadius;
        if (mCentered) {
            if(count >1){
                longOffset +=   (longSize - longPaddingBefore - longPaddingAfter) / 2.0f - (count*2*mRadius+(count-1)*mPadding)/2.0f;
            }else{
                longOffset +=   (longSize - longPaddingBefore - longPaddingAfter) / 2.0f - mRadius;
            }
        }

 

mPadding为间距,默认等于指示点的半径,暴露设置mPadding的方法,

public void setPadding(float pad){
mPadding = pad;
invalidate();
}

 

在代码中调用:indicator.setPadding(5f);
 
 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值