QMUIProgressBar
一个进度条控件,通过颜色变化显示进度,支持环形和矩形两种形式,主要特性如下:
1.支持在进度条中以文字形式显示进度,支持修改文字的颜色和大小。
2.可以通过 xml 属性修改进度背景色,当前进度颜色,进度条尺寸。
3.支持限制进度的最大值。
使用
1、布局初始化
<com.qmuiteam.qmui.widget.QMUIProgressBar
android:layout_marginTop="30dp"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toBottomOf="@+id/topbar"
android:id="@+id/rectProgressBar"
android:layout_width="match_parent"
android:layout_height="24dp"
android:textColor="@color/qmui_config_color_white"
android:textSize="16sp"
app:qmui_background_color="@color/qmui_config_color_gray_8"
app:qmui_progress_color="@color/blue"
app:qmui_type="type_rect"/>
<!-- 圆形ProgressBar app:qmui_type="type_circle"-->
<com.qmuiteam.qmui.widget.QMUIProgressBar
app:layout_goneMarginTop="30dp"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toBottomOf="@+id/rectProgressBar"
android:id="@+id/circleProgressBar"
android:layout_width="250dp"
android:layout_height="250dp"
android:layout_marginTop="30dp"
android:textColor="?attr/qmui_config_color_gray_4"
android:textSize="22sp"
app:qmui_background_color="?attr/qmui_config_color_gray_8"
app:qmui_progress_color="@color/blue"
app:qmui_stroke_width="18dp"
app:qmui_type="type_circle"/>
2、具体方法
QMUIProgressBar rectProgressBar=findViewById(R.id.rectProgressBar);
QMUIProgressBar circleProgressBar=findViewById(R.id.circleProgressBar);
//设置文字样式 百分之样式 如 10%
circleProgressBar.setQMUIProgressBarTextGenerator(new QMUIProgressBar.QMUIProgressBarTextGenerator() {
@Override
public String generateText(QMUIProgressBar progressBar, int value, int maxValue) {
return 100 * value / maxValue + "%";
}
});
//设置文字样式 分数样式 如 10/100
rectProgressBar.setQMUIProgressBarTextGenerator(new QMUIProgressBar.QMUIProgressBarTextGenerator() {
@Override
public String generateText(QMUIProgressBar progressBar, int value, int maxValue) {
return value + "/" + maxValue;
}
});
//设置方法,最大值
rectProgressBar.setMaxValue(100);
circleProgressBar.setMaxValue(100);
//当前值
rectProgressBar.setProgress(0);
circleProgressBar.setProgress(0);
如图