Home

Awesome

ArcSeekBar

Download MavenCentral JitPack CircleCI API License

ArcSeekBar for Android 是一个弧形的拖动条进度控件,配置参数完全可定制化。

ArcSeekBar 是基于 CircleProgressView 修改而来的库。 但青出于蓝而胜于蓝,所以 CircleProgressView 的大部分用法,ArcSeekBar 基本都支持,而且可配置的参数更细致。

之所以新造一个ArcSeekBar库,而不直接在 CircleProgressView 上面直接改,原因是 CircleProgressView 里面的部分动画效果对于 SeekBar 并不适用,所以 ArcSeekBar 是在 CircleProgressView 的基础上有所删减后,而再进行扩展增强的。 实际还需根据具体的需求而选择适合的。

Gif 展示

Image

你也可以直接下载 演示App 体验效果

引入

Gradle:

  1. 在Project的 build.gradlesetting.gradle 中添加远程仓库

    repositories {
        //...
        mavenCentral()
    }
    
  2. 在Module的 build.gradle 里面添加引入依赖项

    implementation 'com.github.jenly1314:arcseekbar:1.1.1'
    

使用

ArcSeekBar自定义属性说明(进度默认为渐变色)

属性值类型默认值说明
arcStrokeWidthdimension12dp画笔描边的宽度
arcStrokeCapenumROUND画笔的线冒样式
arcNormalColorcolor<font color=#C8C8C8>#FFC8C8C8</font>弧形正常颜色
arcProgressColorcolor<font color=#4FEAAC>#FF4FEAAC</font>弧形进度颜色
arcStartAngleinteger270开始角度,默认十二点钟方向
arcSweepAngleinteger360扫描角度范围
arcMaxinteger100进度最大值
arcProgressinteger0当前进度
arcDurationinteger500动画时长
arcLabelTextstring中间的标签文本,默认自动显示百分比
arcLabelTextColorcolor<font color=#333333>#FF333333</font>文本字体颜色
arcLabelTextSizedimension30sp文本字体大小
arcLabelPaddingTopdimension0dp文本居顶边内间距
arcLabelPaddingBottomdimension0dp文本居底边内间距
arcLabelPaddingLeftdimension0dp文本居左边内间距
arcLabelPaddingRightdimension0dp文本居右边内间距
arcShowLabelbooleantrue是否显示文本
arcShowTickbooleantrue是否显示环刻度
arcTickStrokeWidthdimension10dp刻度画笔宽度
arcTickPaddingdimension2dp环刻度与环间距
arcTickSplitAngleinteger5刻度间隔的角度大小
arcBlockAngleinteger1刻度的角度大小
arcTickOffsetAngleinteger0刻度偏移的角度大小
arcThumbStrokeWidthdimension10dp拖动按钮画笔宽度
arcThumbColorcolor<font color=#E8D30F>#FFE8D30F</font>拖动按钮颜色
arcThumbRadiusdimension8dp拖动按钮半径
arcThumbRadiusEnlargesdimension2dp触摸时按钮半径放大量
arcShowThumbbooleantrue是否显示拖动按钮
arcThumbDrawablereference拖动按钮图片(arcThumbDrawable的优先级高于arcThumbColor)
arcAllowableOffsetsdimension10dp触摸时可偏移距离:偏移量越大,触摸精度越小
arcEnabledDragbooleantrue是否启用通过拖动改变进度
arcEnabledSinglebooleantrue是否启用通过点击改变进度

示例

布局示例

    <com.king.view.arcseekbar.ArcSeekBar
        android:id="@+id/arcSeekBar"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:arcEnabledDrag="true"/>

代码示例

    //进度改变监听
    arcSeekBar.setOnChangeListener(listener);
    //设置进度
    arcSeekBar.setProgress(progress);
    //显示进度动画(进度,动画时长)
    arcSeekBar.showAnimation(80,3000);

更多使用详情,请查看app中的源码使用示例或直接查看 API帮助文档

相关推荐

<!-- end -->

版本日志

v1.1.1:2024-7-17

v1.1.0:2024-6-25

v1.0.3:2021-9-1 (从v1.0.3开始发布至 MavenCentral)

v1.0.2:2020-12-2

v1.0.1:2020-9-16

v1.0.0:2020-3-28

赞赏

如果您喜欢ArcSeekBar,或感觉ArcSeekBar帮助到了您,可以点右上角“Star”支持一下,您的支持就是我的动力,谢谢 :smiley:

<p>您也可以扫描下面的二维码,请作者喝杯咖啡 :coffee: <div> <img src="https://jenly1314.github.io/image/page/rewardcode.png"> </div>

关于我

我的博客GitHubGiteeCSDN博客园
<a title="我的博客" href="https://jenly1314.github.io" target="_blank">Jenly's Blog</a><a title="GitHub开源项目" href="https://github.com/jenly1314" target="_blank">jenly1314</a><a title="Gitee开源项目" href="https://gitee.com/jenly1314" target="_blank">jenly1314</a><a title="CSDN博客" href="http://blog.csdn.net/jenly121" target="_blank">jenly121</a><a title="博客园" href="https://www.cnblogs.com/jenly" target="_blank">jenly</a>

联系我

微信公众号Gmail邮箱QQ邮箱QQ群QQ群
Jenly666<a title="给我发邮件" href="mailto:jenly1314@gmail.com" target="_blank">jenly1314</a><a title="给我发邮件" href="mailto:jenly1314@vip.qq.com" target="_blank">jenly1314</a><a title="点击加入QQ群" href="https://qm.qq.com/cgi-bin/qm/qr?k=6_RukjAhwjAdDHEk2G7nph-o8fBFFzZz" target="_blank">20867961</a><a title="点击加入QQ群" href="https://qm.qq.com/cgi-bin/qm/qr?k=Z9pobM8bzAW7tM_8xC31W8IcbIl0A-zT" target="_blank">64020761</a>
<div> <img src="https://jenly1314.github.io/image/page/footer.png"> </div>