一个高度自定义的水平进度条控件.
Github地址:https://github.com/zhouzhuo810/ZzHorizontalProgressBar
功能简介:
- 1.支持自定义进度颜色;
- 2.支持自定义背景颜色;
- 3.支持自定义背景与进度之间的内间距大小;
- 4.支持自定义最大值和默认进度值;
- 5.支持渐变颜色进度;
- 6.支持二级进度条。
与系统控件相比的优势:属性配置更简单、大小适配更方便。
Gradle:
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
implementation 'com.github.zhouzhuo810:ZzHorizontalProgressBar:1.1.1'
1.xml
<me.zhouzhuo.zzhorizontalprogressbar.ZzHorizontalProgressBar
android:id="@+id/pb"
android:layout_width="match_parent"
android:layout_height="40dp"
app:zpb_padding="0dp"
app:zpb_pb_color="@android:color/holo_green_dark"
app:zpb_bg_color="@android:color/holo_blue_bright"
app:zpb_max="100"
app:zpb_progress="30"
/>
2.java
final ZzHorizontalProgressBar pb = (ZzHorizontalProgressBar) findViewById(R.id.pb);
//set progress value
pb.setProgress(progress);
//set padding
pb.setPadding(0);
//set background color
pb.setBgColor(Color.RED);
//set progress color
pb.setProgressColor(Color.BLUE);
//set max value
pb.setMax(100);
属性 | 作用 | 类型 |
---|---|---|
zpb_padding | 背景与进度之间的内间距大小 | dimension |
zpb_second_pb_color | 二级进度背景颜色 | color |
zpb_bg_color | 背景颜色 | color |
zpb_pb_color | 进度颜色 | color |
zpb_max | 进度最大值 | int |
zpb_progress | 默认进度值 | int |
zpb_second_progress | 二级进度默认进度值 | int |
zpb_open_gradient | 是否使用渐变色 | boolean |
zpb_show_zero_point | 进度为0时是否显示圆点 | boolean |
zpb_gradient_from | 开始渐变颜色 | color |
zpb_gradient_to | 结束渐变颜色 | color |
zpb_show_second_progress | 二级进度是否显示 | boolean |
zpb_open_second_gradient | 二级进度是否使用渐变色 | boolean |
zpb_second_gradient_from | 二级进度开始渐变颜色 | color |
zpb_second_gradient_to | 二级进度结束渐变颜色 | color |
zpb_show_second_point_shape | 二级进度形状(point,line) | enum |
zpb_show_mode | 显示进度的模式(round,rect,round_rect) | enum |
zpb_round_rect_radius | round_rect模式下圆角的半径 | dimension |
zpb_draw_border | 是否画边框 | boolean |
zpb_border_width | 边框的线宽 | dimension |
zpb_border_color | 边框的颜色 | color |
- 修复二级进度值为0时也显示一条线的问题;
- 添加了文档注释;
- zpb_show_zero_point属性,控制进度为0时是否显示圆点;
- 修复二级进度条单一色时进度设置无效问题;
- 修复二级进度条单一色时颜色设置无效问题;
- 修复圆角进度算法缺陷;
- 添加动态设置边框颜色方法;
- 添加自定义圆角大小模式;
- 添加zpb_show_mode属性,切换模式;
- 添加zpb_round_rect_radius属性,圆角半径;
- 添加zpb_draw_border属性,是否画边框;
- 添加zpb_border_width属性,边框宽度;
- 添加zpb_border_color属性,边框颜色;
- 添加矩形进度模式;
- 添加
setOnProgressChangedListener
回调方法;
- 添加二级进度;
- 添加二级进度渐变;
- 添加二级进度形状;
- 添加渐变色属性;
- 修复动态修改背景颜色和进度颜色无效问题;
Copyright © zhouzhuo810
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.