ViewPagerIndicator在github项目地址:https://github.com/JakeWharton/ViewPagerIndicator
Demo地址在本人的上传资源中,
在使用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);