ViewPagerIndicator设置指示点的间距

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

CirclePageIndicator的一部分代码,其实CirclePageIndicator的指示点并不居中,将点的大小设置很大就可以看出来,我们可以参照radius属性,添加一个属性dotpadding,用于在布局中使用该属性设置两点之间的间距

添加一个属性dotpadding

然后需要在CirclePageIndicator类中,声明成员变量获取该属性

声明成员变量mDotPadding
从布局中获取dotPadding属性值

在onDraw方法中注销掉原来的设置间距的六行代码,换上自己的绘制间距代码:


if (mDotPadding == 0) {

          mDotPadding = mRadius;

}

final float threeRadius = mRadius * 2 + mDotPadding;

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) * mDotPadding) / 2.0f;

      } else {

             longOffset += (longSize - longPaddingBefore - longPaddingAfter) / 2.0f - mRadius;

      }

}


注销掉原来的设置间距的六行代码,换上自己的绘制间距代码

最后添加get和set方法,方便在代码中调用:


添加get和set方法

然后就可以在布局和代码中直接使用了:


在布局使用
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 28,257评论 1 45
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,871评论 19 139
  • 图表控件库 MPAndroidChart 的使用 使用方法 项目源码地址,包含了很多类型的图标 https://g...
    jinchuang阅读 4,243评论 0 0
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,008评论 25 709
  • 坚定的信念,绽放出最美的花朵 一朵花,生长在一片被人遗忘的地方。但它却不曾遗忘梦想,纵使被人忽视;纵使执着的鲜血...
    小敏min阅读 3,342评论 0 0

友情链接更多精彩内容