Android基础汇总
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);