{"id":18565054,"url":"https://github.com/jenly1314/arcseekbar","last_synced_at":"2025-05-16T12:11:02.752Z","repository":{"id":57720444,"uuid":"250829013","full_name":"jenly1314/ArcSeekBar","owner":"jenly1314","description":"🎡 ArcSeekBar 一个弧形可拖动进度条控件。弧形大小，弧度，颜色渐变等配置完全可定制化","archived":false,"fork":false,"pushed_at":"2025-02-07T16:24:22.000Z","size":10716,"stargazers_count":330,"open_issues_count":0,"forks_count":37,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-04-02T08:19:24.988Z","etag":null,"topics":["android","arc","arcseekbar","circle","circleprogressbar","circleprogressview","circleseekbar","progressbar","progressview","seekbar"],"latest_commit_sha":null,"homepage":"https://jenly1314.github.io/ArcSeekBar/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jenly1314.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-03-28T15:25:44.000Z","updated_at":"2025-03-25T12:12:15.000Z","dependencies_parsed_at":"2024-07-08T16:49:26.394Z","dependency_job_id":"cf1af7ab-d962-491e-9f3d-8cd999e353d2","html_url":"https://github.com/jenly1314/ArcSeekBar","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jenly1314%2FArcSeekBar","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jenly1314%2FArcSeekBar/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jenly1314%2FArcSeekBar/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jenly1314%2FArcSeekBar/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jenly1314","download_url":"https://codeload.github.com/jenly1314/ArcSeekBar/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248018050,"owners_count":21034047,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","arc","arcseekbar","circle","circleprogressbar","circleprogressview","circleseekbar","progressbar","progressview","seekbar"],"created_at":"2024-11-06T22:17:32.075Z","updated_at":"2025-05-16T12:11:02.747Z","avatar_url":"https://github.com/jenly1314.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ArcSeekBar\n\n[![MavenCentral](https://img.shields.io/maven-central/v/com.github.jenly1314/arcseekbar?logo=sonatype)](https://repo1.maven.org/maven2/com/github/jenly1314/ArcSeekBar)\n[![JitPack](https://img.shields.io/jitpack/v/github/jenly1314/ArcSeekBar?logo=jitpack)](https://jitpack.io/#jenly1314/ArcSeekBar)\n[![CI](https://img.shields.io/github/actions/workflow/status/jenly1314/ArcSeekBar/build.yml?logo=github)](https://github.com/jenly1314/ArcSeekBar/actions/workflows/build.yml)\n[![Download](https://img.shields.io/badge/download-APK-brightgreen?logo=github)](https://raw.githubusercontent.com/jenly1314/ArcSeekBar/master/app/release/app-release.apk)\n[![API](https://img.shields.io/badge/API-21%2B-brightgreen?logo=android)](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)\n[![License](https://img.shields.io/github/license/jenly1314/ArcSeekBar?logo=open-source-initiative)](https://opensource.org/licenses/mit)\n\n\nArcSeekBar for Android 是一个弧形的拖动条进度控件，配置参数完全可定制化。\n\n**ArcSeekBar** 是基于 [CircleProgressView](https://github.com/jenly1314/CircleProgressView) 修改而来的库。\n但青出于蓝而胜于蓝，所以 [CircleProgressView](https://github.com/jenly1314/CircleProgressView) 的大部分用法，**ArcSeekBar** 基本都支持，而且 **ArcSeekBar** 支持的功能点更多，可配置的参数更细致。\n\n\u003e 之所以创建一个 **ArcSeekBar** 而非直接修改 **CircleProgressView** ，主要是因为 **CircleProgressView** 中并不涉及 SeekBar 的场景。\n\u003e 还有一个原因是 **ArcSeekBar** 和 **CircleProgressView** 的实现效果存在不同点；至于到底应该用 **CircleProgressView** 还是 **ArcSeekBar**，你可以根据需要去选择更符合自己需求的。\n\n## 效果展示\n![Image](GIF.gif)\n\n\u003e 你也可以直接下载 [演示App](https://raw.githubusercontent.com/jenly1314/ArcSeekBar/master/app/release/app-release.apk) 体验效果\n\n## 引入\n\n### Gradle:\n1. 在Project的 **build.gradle** 或 **setting.gradle** 中添加远程仓库\n\n    ```gradle\n    repositories {\n        //...\n        mavenCentral()\n    }\n    ```\n\n2. 在Module的 **build.gradle** 中添加依赖项\n   ```gradle\n   implementation 'com.github.jenly1314:arcseekbar:1.2.0'\n   ```\n\n## 使用\n\n### ArcSeekBar自定义属性说明（进度默认为渐变色）\n| 属性                     | 值类型 | 默认值                                  | 说明                                                             |\n|:-----------------------| :------ |:-------------------------------------|:---------------------------------------------------------------|\n| ~~arcStrokeWidth~~     | dimension | 12dp                                 | 画笔描边的宽度（v1.2.0已废弃，改用`arcNormalStrokeWidth`和`arcProgressStrokeWidth`） |\n| arcNormalStrokeWidth   | dimension | 12dp                                 | 弧形正常画笔描边的宽度（v1.2.0新增）                                          |\n| arcProgressStrokeWidth | dimension | 12dp                                 | 弧形进度条画笔描边的宽度（v1.2.0新增）                                         |\n| arcStrokeCap           | enum | ROUND                                | 画笔的线冒样式                                                        |\n| arcNormalColor         | color | \u003cfont color=#C8C8C8\u003e#FFC8C8C8\u003c/font\u003e | 弧形正常颜色                                                         |\n| arcProgressColor       | color | \u003cfont color=#4FEAAC\u003e#FF4FEAAC\u003c/font\u003e | 弧形进度颜色                                                         |\n| arcStartAngle          | integer | 270                                  | 开始角度，默认十二点钟方向                                                  |\n| arcSweepAngle          | integer | 360                                  | 扫描角度范围                                                         |\n| arcMax                 | integer | 100                                  | 进度最大值                                                          |\n| arcProgress            | integer | 0                                    | 当前进度                                                           |\n| arcDuration            | integer | 500                                  | 动画时长                                                           |\n| arcLabelText           | string |                                      | 中间的标签文本，默认自动显示百分比                                              |\n| arcLabelTextColor      | color | \u003cfont color=#333333\u003e#FF333333\u003c/font\u003e | 文本字体颜色                                                         |\n| arcLabelTextSize       | dimension | 30sp                                 | 文本字体大小                                                         |\n| arcLabelPaddingTop     | dimension | 0dp                                  | 文本居顶边内间距                                                       |\n| arcLabelPaddingBottom  | dimension | 0dp                                  | 文本居底边内间距                                                       |\n| arcLabelPaddingLeft    | dimension | 0dp                                  | 文本居左边内间距                                                       |\n| arcLabelPaddingRight   | dimension | 0dp                                  | 文本居右边内间距                                                       |\n| arcShowLabel           | boolean | true                                 | 是否显示文本                                                         |\n| arcShowTick            | boolean | true                                 | 是否显示环刻度                                                        |\n| arcTickStrokeWidth     | dimension | 10dp                                 | 刻度画笔宽度                                                         |\n| arcTickPadding         | dimension | 2dp                                  | 环刻度与环间距                                                        |\n| arcTickSplitAngle      | integer | 5                                    | 刻度间隔的角度大小                                                      |\n| arcBlockAngle          | integer | 1                                    | 刻度的角度大小                                                        |\n| arcTickOffsetAngle     | integer | 0                                    | 刻度偏移的角度大小                                                      |\n| arcThumbStrokeWidth    | dimension | 10dp                                 | 拖动按钮画笔宽度                                                       |\n| arcThumbColor          | color | \u003cfont color=#E8D30F\u003e#FFE8D30F\u003c/font\u003e | 拖动按钮颜色                                                         |\n| arcThumbRadius         | dimension | 8dp                                  | 拖动按钮半径                                                         |\n| arcThumbRadiusEnlarges | dimension | 2dp                                  | 触摸时按钮半径放大量                                                     |\n| arcShowThumb           | boolean | true                                 | 是否显示拖动按钮                                                       |\n| arcThumbDrawable       | reference |                                      | 拖动按钮图片（arcThumbDrawable的优先级高于arcThumbColor）                    |\n| arcAllowableOffsets    | dimension | 10dp                                 | 触摸时可偏移距离：偏移量越大，触摸精度越小                                          |\n| arcEnabledDrag         | boolean | true                                 | 是否启用通过拖动改变进度                                                   |\n| arcEnabledSingle       | boolean | true                                 | 是否启用通过点击改变进度                                                   |\n\n\n### 示例\n\n布局示例\n```Xml\n    \u003ccom.king.view.arcseekbar.ArcSeekBar\n        android:id=\"@+id/arcSeekBar\"\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        app:arcEnabledDrag=\"true\"/\u003e\n```\n\n代码示例\n```Java\n    // 进度改变监听\n    arcSeekBar.setOnChangeListener(listener);\n\n    // 设置进度颜色；传多个颜色时则表示为渐变色（设置渐变色时尽量保证首尾同色）\n    arcSeekBar.setProgressColor(color);\n\n    // 设置进度\n    arcSeekBar.setProgress(progress);\n\n    // 显示进度动画（进度，动画时长）\n    arcSeekBar.showAnimation(80,3000);\n\n\n```\n更多使用详情，请查看[app](app)中的源码使用示例或直接查看 [API帮助文档](https://jenly1314.github.io/ArcSeekBar/api/)\n\n## 相关推荐\n\n- [CircleProgressView](https://github.com/jenly1314/CircleProgressView) 一个圆形的进度动画控件，动画效果纵享丝滑。\n- [SpinCounterView](https://github.com/jenly1314/SpinCounterView) 一个类似码表变化的旋转计数器动画控件。\n- [CounterView](https://github.com/jenly1314/CounterView) 一个数字变化效果的计数器视图控件。\n- [RadarView](https://github.com/jenly1314/RadarView) 一个雷达扫描动画后，然后展示得分效果的控件。\n- [SuperTextView](https://github.com/jenly1314/SuperTextView) 一个在TextView的基础上扩展了几种动画效果的控件。\n- [LoadingView](https://github.com/jenly1314/LoadingView) 一个圆弧加载过渡动画，圆弧个数，大小，弧度，渐变颜色，完全可配。\n- [WaveView](https://github.com/jenly1314/WaveView) 一个水波纹动画控件视图，支持波纹数，波纹振幅，波纹颜色，波纹速度，波纹方向等属性完全可配。\n- [GiftSurfaceView](https://github.com/jenly1314/GiftSurfaceView) 一个适用于直播间送礼物拼图案的动画控件。\n- [FlutteringLayout](https://github.com/jenly1314/FlutteringLayout) 一个适用于直播间点赞桃心飘动效果的控件。\n- [DragPolygonView](https://github.com/jenly1314/DragPolygonView) 一个支持可拖动多边形，支持通过拖拽多边形的角改变其形状的任意多边形控件。\n- [DrawBoard](https://github.com/jenly1314/DrawBoard) 一个自定义View实现的画板；方便对图片进行编辑和各种涂鸦相关操作。\n- [compose-component](https://github.com/jenly1314/compose-component) 一个Jetpack Compose的组件库；主要提供了一些小组件，便于快速使用。\n\n\u003c!-- end --\u003e\n\n## 版本日志\n\n#### v1.2.0 2025-2-7\n*  新增属性：`arcNormalStrokeWidth` 和 `arcProgressStrokeWidth`（废弃属性：`arcStrokeWidth`）\n*  修复BUG：最大值多次动态变化后，会影响到进度拖动问题。（[#14](https://github.com/jenly1314/ArcSeekBar/issues/14)）\n*  优化细节\n\n#### [查看更多版本日志](CHANGELOG.md)\n\n---\n\n![footer](https://jenly1314.github.io/page/footer.svg)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjenly1314%2Farcseekbar","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjenly1314%2Farcseekbar","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjenly1314%2Farcseekbar/lists"}