属性 | 类型 | 说明 |
---|---|---|
viewWidth | dimension | 进度条宽度(不设置则默认为layout_width) |
viewHeight | dimension | 进度条高度(不设置则默认为layout_height) |
bgColor | color | 进度条背景颜色 |
borderColor | color | 进度条边框颜色 |
borderWidth | dimension | 进度条边框宽度 |
progressColor | color | 进度条颜色 |
nowProgress | float | 进度条当前进度(默认为30) |
maxProgress | float | 进度条最大值(默认为100) |
angle | integer | 进度条旋转角度 |
radius | dimension | 进度条圆角大小(默认为viewHeight的一半,最大值不会超过viewHeight的一半) |
useAnimation | boolean | 是否使用动画(默认为true) |
duration | integer | 动画执行时间(默认为1200毫秒) |
allInterval | dimension | 进度条与边框的距离 |
leftInterval | dimension | 进度条与左边框的距离 |
topInterval | dimension | 进度条与顶部边框的距离 |
rightInterval | dimension | 进度条与右边框的距离 |
bottomInterval | dimension | 进度条与底部边框的距离 |
<com.github.progress.MyProgress
android:id="@+id/mp"
android:layout_width="match_parent"
android:layout_height="20dp"
app:maxProgress="100"
app:nowProgress="10"
app:borderColor="@color/green"
app:bgColor="@color/white"
/>
//进度条边框颜色渐变
Shader borderShader;
//进度条背景颜色渐变
Shader bgShader;
//进度条颜色渐变
Shader progressShader;
//进度条动画插入器,建议在setProgress方法之前设置(默认为DecelerateInterpolator)
TimeInterpolator interpolator
//为进度条设置线性颜色渐变,起始坐标为view左上角,结束坐标为view右下角(注意view圆点坐标在view中心)
LinearGradient linearGradient = new LinearGradient(
-myProgress.getViewWidth() / 2,
-myProgress.getViewHeight() / 2,
myProgress.getViewWidth() / 2,
myProgress.getViewHeight() / 2,
ContextCompat.getColor(MainActivity.this, R.color.green),
ContextCompat.getColor(MainActivity.this, R.color.blue),
Shader.TileMode.MIRROR);
myProgress.setNowProgress(30).setMaxProgress(100).setProgressShader(linearGradient).complete();
MyProgress myProgress = (MyProgress) findViewById(R.id.myProgress);
myProgress.setOnProgressInter(new MyProgress.OnProgressInter() {
@Override
public void progress(float scaleProgress, float progress, float max) {
//scaleProgress:动画执行时的进度
//progress:设置的进度
//max:进度条最大值
}
});
最新版本号 |
---|
compile 'com.github:MyProgress:版本号看上面'