# EasySignSeekBar **Repository Path**: OneMuYou/EasySignSeekBar ## Basic Information - **Project Name**: EasySignSeekBar - **Description**: 本库主要提供一个漂亮而强大的自定义SeekBar,进度变化由提示牌 (sign)展示,具有强大的属性设置,支持设置section(节点)、mark(标记)、track(轨迹)、thumb(拖动块)、progress(进度)、sign(提示框)等功能 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-03-06 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## EasySignSeekBar 本库主要提供一个漂亮而强大的自定义SeekBar,进度变化由提示牌 (sign)展示,具有强大的属性设置,支持设置section(节点)、mark(标记)、track(轨迹)、thumb(拖动块)、progress(进度)、sign(提示框)等功能 ## 主要功能 - 强大的track(轨迹)和second track (选中轨迹)的最小值、最大值、轨迹粗细,颜色等设置; - 灵活的数字显示,支持设置进度展示、节点文本展示采用整数还是浮点数; - 支持设置进度单位,例如 10s,15km/h、平方,对数等; - 支持手柄拖动块thumb半径、颜色、阴影、透明度等; - 支持节点个数、文字大小、颜色设置; - 支持指示牌宽高、颜色、圆角半径、三角arrow指示、border边框、跟随thumb移动等; - 支持设置拖动进度监听回掉; - 支持格式化进度数字,完全自定义进度样式 - ...... ## 关于我 [![github](https://img.shields.io/badge/GitHub-zhou--you-green.svg)](https://github.com/zhou-you) [![csdn](https://img.shields.io/badge/CSDN-zhouy478319399-green.svg)](http://blog.csdn.net/zhouy478319399) ## 联系方式 本群旨在为使用我github项目的人提供方便,如果遇到问题欢迎在群里提问。 #### 欢迎加入QQ交流群(Q1群已满,请加入Q2群) [![](https://img.shields.io/badge/%E7%82%B9%E6%88%91%E4%B8%80%E9%94%AE%E5%8A%A0%E5%85%A5Q1%E7%BE%A4-581235049%28%E5%B7%B2%E6%BB%A1%29-blue.svg)](http://shang.qq.com/wpa/qunwpa?idkey=1e1f4bcfd8775a55e6cf6411f6ff0e7058ff469ef87c4d1e67890c27f0c5a390) [![](https://img.shields.io/badge/%E7%82%B9%E6%88%91%E4%B8%80%E9%94%AE%E5%8A%A0%E5%85%A5Q2%E7%BE%A4-832887601-blue.svg)](http://shang.qq.com/wpa/qunwpa?idkey=f3c997d1c3cc6a8c9fa46d3fde0d663f50e4e6d0e6441b8cc276bef39befd24c) ![](http://img.blog.csdn.net/20170601165330238)![](https://img-blog.csdnimg.cn/20190627164802234.jpg) ## 演示(请star支持) ![](https://github.com/zhou-you/EasySignSeekBar/blob/master/screenshot/1.gif?raw=true) ![](https://github.com/zhou-you/EasySignSeekBar/blob/master/screenshot/2.gif?raw=true) ![](https://github.com/zhou-you/EasySignSeekBar/blob/master/screenshot/3.gif?raw=true) ![](https://github.com/zhou-you/EasySignSeekBar/blob/master/screenshot/4.gif?raw=true) ## 版本说明 [![release](https://img.shields.io/badge/release-v1.0.6-orange.svg)](https://github.com/zhou-you/EasySignSeekBar/blob/master/update.md) ## Demo下载 [![downloads](https://img.shields.io/badge/downloads-460k-blue.svg)](https://github.com/zhou-you/EasySignSeekBar/blob/master/apk/signseekbar_demo.apk?raw=true) ## 用法介绍 ### build.gradle设置 ``` dependencies { compile 'com.zhouyou:signseekbar:1.0.6' } ``` 想查看所有版本,请点击下面地址。 [![jcenter](https://img.shields.io/badge/Jcenter-Latest%20Release-orange.svg)](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)作者提供的开源库,对于本库的完成提供了很大的帮助。