前言:

进度条常见的样式, 目前暂时没看到比较好用的框架, 或者说不好在原有的基础上扩展, 本框架的成员变量和方法几乎都是用protected 和 public, 给用户随便扩展.

先上效果图---常见样式

总体效果.gif

结构图.png

一. 导入框架

//项目根目录下 build.gradle

allprojects {

repositories {

...

maven { url 'https://jitpack.io' } //添加

}

}

//app目录下 build.gradle

dependencies {

implementation 'com.github.liys666666:LProgressView:V1.0.82' //添加

}

//xml布局中

....

app:progress_value = "50"/>

.... />

.... />

.... />

.... />

二. 所有属性

1. LineProView

LineProView.png

//公共属性

//总数

//进度

//进度条 大小

//进度条 颜色

//进度条背景颜色

//文字大小

//文字颜色

//是否显示文字

//保留多少位小数

//发光颜色

//是否需要发光

//边框颜色

//边框大小

//是否需要边框

//圆角

//进度条 前进方向圆角

2. LineCentreProView

LineCentreProView.png

//总数

//进度

//进度条 大小

//进度条 颜色

//进度条背景颜色

//文字大小

//文字颜色

//是否显示文字

//保留多少位小数

//发光颜色

//是否需要发光

//边框颜色

//边框大小

//是否需要边框

//进度条 前进方向圆角

//方框宽度

//方框圆角

3. LineBottomProView

LineBottomProView.png

//总数

//进度

//进度条 大小

//进度条 颜色

//进度条背景颜色

//文字大小

//文字颜色

//是否显示文字

//保留多少位小数

//发光颜色

//是否需要发光

//圆角

//方框--宽度

//方框--高度

//方框--圆角

4. ArcProView

ArcProView.png

//总数

//进度

//进度条 大小

//进度条 颜色

//进度条背景颜色

//文字大小

//文字颜色

//是否显示文字

//保留多少位小数

//发光颜色

//是否需要发光

//开始角度

//需要绘制的角度

5. WaterWaveProView

WaterWaveProView.png

//总数

//进度

//进度条 大小

//进度条 颜色

//进度条背景颜色

//文字大小

//文字颜色

//是否显示文字

//保留多少位小数

//发光颜色

//是否需要发光

//边框颜色

//边框大小

//是否需要边框

// 水波长

//水波高度

//水波--速度

三. 总结

1. 这里没有渐变属性, 如果需要, 可参考每个ProView对应的详细文章.

2. 使用简介, 学习成本低, 属性一查即可知道

3. 支持用户在原有的基础扩展和修改, 每个成员变量几乎都有set和get方法.

① 例如: 对于画笔Paint可以用对应get方法取出, 然后设置对应的属性.

② 例如: 继承对应的View, 重写对应的方法进行覆盖.