https://github.com/zhou-you/easysignseekbar
本库主要提供一个漂亮而强大的自定义SeekBar,进度变化由提示牌 (sign)展示,具有强大的属性设置,支持设置section(节点)、mark(标记)、track(轨迹)、thumb(拖动块)、progress(进度)、sign(提示框)等功能
https://github.com/zhou-you/easysignseekbar
custom-view seekbar thumbs view
Last synced: 6 months ago
JSON representation
本库主要提供一个漂亮而强大的自定义SeekBar,进度变化由提示牌 (sign)展示,具有强大的属性设置,支持设置section(节点)、mark(标记)、track(轨迹)、thumb(拖动块)、progress(进度)、sign(提示框)等功能
- Host: GitHub
- URL: https://github.com/zhou-you/easysignseekbar
- Owner: zhou-you
- Created: 2017-10-11T02:46:06.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2020-03-23T05:51:44.000Z (over 5 years ago)
- Last Synced: 2025-03-29T01:09:47.382Z (7 months ago)
- Topics: custom-view, seekbar, thumbs, view
- Language: Java
- Homepage:
- Size: 9.4 MB
- Stars: 728
- Watchers: 12
- Forks: 111
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## EasySignSeekBar
本库主要提供一个漂亮而强大的自定义SeekBar,进度变化由提示牌 (sign)展示,具有强大的属性设置,支持设置section(节点)、mark(标记)、track(轨迹)、thumb(拖动块)、progress(进度)、sign(提示框)等功能## 主要功能
- 强大的track(轨迹)和second track (选中轨迹)的最小值、最大值、轨迹粗细,颜色等设置;
- 灵活的数字显示,支持设置进度展示、节点文本展示采用整数还是浮点数;
- 支持设置进度单位,例如 10s,15km/h、平方,对数等;
- 支持手柄拖动块thumb半径、颜色、阴影、透明度等;
- 支持节点个数、文字大小、颜色设置;
- 支持指示牌宽高、颜色、圆角半径、三角arrow指示、border边框、跟随thumb移动等;
- 支持设置拖动进度监听回掉;
- 支持格式化进度数字,完全自定义进度样式
- ......## 关于我
[](https://github.com/zhou-you) [](http://blog.csdn.net/zhouy478319399)
## 联系方式
本群旨在为使用我github项目的人提供方便,如果遇到问题欢迎在群里提问。
#### 欢迎加入QQ交流群(Q1群已满,请加入Q2群)[](http://shang.qq.com/wpa/qunwpa?idkey=1e1f4bcfd8775a55e6cf6411f6ff0e7058ff469ef87c4d1e67890c27f0c5a390)
[](http://shang.qq.com/wpa/qunwpa?idkey=f3c997d1c3cc6a8c9fa46d3fde0d663f50e4e6d0e6441b8cc276bef39befd24c)

## 演示(请star支持)
  
## 版本说明
[](https://github.com/zhou-you/EasySignSeekBar/blob/master/update.md)## Demo下载
[](https://github.com/zhou-you/EasySignSeekBar/blob/master/apk/signseekbar_demo.apk?raw=true)
## 用法介绍
### build.gradle设置```
dependencies {
compile 'com.zhouyou:signseekbar:1.0.6'
}```
想查看所有版本,请点击下面地址。[](https://jcenter.bintray.com/com/zhouyou/signseekbar/)
### xml
``````
### java
```
signSeekBar.getConfigBuilder()
.min(0)
.max(4)
.progress(2)
.sectionCount(4)
.trackColor(ContextCompat.getColor(getContext(), R.color.color_gray))
.secondTrackColor(ContextCompat.getColor(getContext(), R.color.color_blue))
.thumbColor(ContextCompat.getColor(getContext(), R.color.color_blue))
.sectionTextColor(ContextCompat.getColor(getContext(), R.color.colorPrimary))
.sectionTextSize(16)
.thumbTextColor(ContextCompat.getColor(getContext(), R.color.color_red))
.thumbTextSize(18)
.signColor(ContextCompat.getColor(getContext(), R.color.color_green))
.signTextSize(18)
.autoAdjustSectionMark()
.sectionTextPosition(SignSeekBar.TextPosition.BELOW_SECTION_MARK)
.build();```
### 回调
```
signSeekBar.setOnProgressChangedListener(new SignSeekBar.OnProgressChangedListener() {
@Override
public void onProgressChanged(SignSeekBar signSeekBar, int progress, float progressFloat,boolean fromUser) {
//fromUser 表示是否是用户触发 是否是用户touch事件产生
String s = String.format(Locale.CHINA, "onChanged int:%d, float:%.1f", progress, progressFloat);
progressText.setText(s);
}@Override
public void getProgressOnActionUp(SignSeekBar signSeekBar, int progress, float progressFloat) {
String s = String.format(Locale.CHINA, "onActionUp int:%d, float:%.1f", progress, progressFloat);
progressText.setText(s);
}@Override
public void getProgressOnFinally(SignSeekBar signSeekBar, int progress, float progressFloat,boolean fromUser) {
String s = String.format(Locale.CHINA, "onFinally int:%d, float:%.1f", progress, progressFloat);
progressText.setText(s + getContext().getResources().getStringArray(R.array.labels)[progress]);
}
});
```
### Attributes
```
```
## 原理介绍
想了解具体实现细节,请移步CSDN博客:
[http://blog.csdn.net/zhouy478319399/article/details/78298104](http://blog.csdn.net/zhouy478319399/article/details/78298104)## 感谢
在此感谢[BubbleSeekBar](https://github.com/woxingxiao/BubbleSeekBar)作者提供的开源库,对于本库的完成提供了很大的帮助。