Skip to content

🎡 ArcSeekBar 一个弧形可拖动进度条控件。弧形大小,弧度,颜色渐变等配置完全可定制化

License

Notifications You must be signed in to change notification settings

jenly1314/ArcSeekBar

Repository files navigation

ArcSeekBar

Download MavenCentral JitPack CircleCI API License

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

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

之所以创建一个 ArcSeekBar 而非直接修改 CircleProgressView ,主要是因为 CircleProgressView 中并不涉及 SeekBar 的场景。 还有一个原因是 ArcSeekBarCircleProgressView 的实现效果存在不同点;至于到底应该用 CircleProgressView 还是 ArcSeekBar,你可以根据需要去选择更符合自己需求的。

Gif 展示

Image

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

引入

Gradle:

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

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

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

使用

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

属性 值类型 默认值 说明
arcStrokeWidth dimension 12dp 画笔描边的宽度(已废弃,改用arcNormalStrokeWidtharcProgressStrokeWidth
arcNormalStrokeWidth dimension 12dp 弧形正常画笔描边的宽度(v1.2.0新增)
arcProgressStrokeWidth dimension 12dp 弧形进度条画笔描边的宽度(v1.2.0新增)
arcStrokeCap enum ROUND 画笔的线冒样式
arcNormalColor color #FFC8C8C8 弧形正常颜色
arcProgressColor color #FF4FEAAC 弧形进度颜色
arcStartAngle integer 270 开始角度,默认十二点钟方向
arcSweepAngle integer 360 扫描角度范围
arcMax integer 100 进度最大值
arcProgress integer 0 当前进度
arcDuration integer 500 动画时长
arcLabelText string 中间的标签文本,默认自动显示百分比
arcLabelTextColor color #FF333333 文本字体颜色
arcLabelTextSize dimension 30sp 文本字体大小
arcLabelPaddingTop dimension 0dp 文本居顶边内间距
arcLabelPaddingBottom dimension 0dp 文本居底边内间距
arcLabelPaddingLeft dimension 0dp 文本居左边内间距
arcLabelPaddingRight dimension 0dp 文本居右边内间距
arcShowLabel boolean true 是否显示文本
arcShowTick boolean true 是否显示环刻度
arcTickStrokeWidth dimension 10dp 刻度画笔宽度
arcTickPadding dimension 2dp 环刻度与环间距
arcTickSplitAngle integer 5 刻度间隔的角度大小
arcBlockAngle integer 1 刻度的角度大小
arcTickOffsetAngle integer 0 刻度偏移的角度大小
arcThumbStrokeWidth dimension 10dp 拖动按钮画笔宽度
arcThumbColor color #FFE8D30F 拖动按钮颜色
arcThumbRadius dimension 8dp 拖动按钮半径
arcThumbRadiusEnlarges dimension 2dp 触摸时按钮半径放大量
arcShowThumb boolean true 是否显示拖动按钮
arcThumbDrawable reference 拖动按钮图片(arcThumbDrawable的优先级高于arcThumbColor)
arcAllowableOffsets dimension 10dp 触摸时可偏移距离:偏移量越大,触摸精度越小
arcEnabledDrag boolean true 是否启用通过拖动改变进度
arcEnabledSingle boolean true 是否启用通过点击改变进度

示例

布局示例

    <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.setProgressColor(color);

    // 设置进度
    arcSeekBar.setProgress(progress);

    // 显示进度动画(进度,动画时长)
    arcSeekBar.showAnimation(80,3000);

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

相关推荐

  • CircleProgressView 一个圆形的进度动画控件,动画效果纵享丝滑。
  • SpinCounterView 一个类似码表变化的旋转计数器动画控件。
  • RadarView 一个雷达扫描动画后,然后展示得分效果的控件。

版本日志

v1.2.0 2025-2-7

  • 新增属性:arcNormalStrokeWidtharcProgressStrokeWidth(废弃属性:arcStrokeWidth
  • 修复BUG:最大值多次动态变化后,会影响到进度拖动问题。(#14
  • 优化细节

赞赏

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

您也可以扫描下面的二维码,请作者喝杯咖啡 ☕

关于我

我的博客 GitHub Gitee CSDN 博客园
Jenly's Blog jenly1314 jenly1314 jenly121 jenly

联系我

微信公众号 Gmail邮箱 QQ邮箱 QQ群 QQ群
Jenly666 jenly1314 jenly1314 20867961 64020761