这可以通过将两个指标编码为同一进度条的主要进度和次要进度来完成.
为进度条创建一个子类.
public class TextProgressBar extends ProgressBar {
private Paint textPaint;
public TextProgressBar(Context context) {
super(context);
textPaint = new Paint();
textPaint.setColor(Color.BLACK);
}
public TextProgressBar(Context context, AttributeSet attrs) {
super(context, attrs);
textPaint = new Paint();
textPaint.setColor(Color.BLACK);
setMax(30);
setProgress(12);
setSecondaryProgress(20);
}
}
必须使用此子类引用进度条的XML条目.
android:id="@+id/progressBar1"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="fill_parent"
android:layout_height="15sp"
android:layout_marginLeft="1sp"
android:layout_marginRight="1sp"
android:layout_marginTop="10sp"
android:progressDrawable="@drawable/progress" />
现在在资源目录中创建drawable
android:angle="270"
android:centerColor="#ff5a5d5a"
android:centerY="0.75"
android:endColor="#ff747674"
android:startColor="#ff5a5d5a" />
android:angle="270"
android:centerColor="#32cd32"
android:centerY="0.75"
android:endColor="#32cd32"
android:startColor="#32cd32" />
android:angle="270"
android:endColor="#33B5E5"
android:startColor="#33B5E5" />
可以在此drawable中更改主要和次要指示器的颜色.
在你的代码中使用它们,如下所示:
TextProgressBar textProgress;
textProgress = (TextProgressBar)findViewById(R.id.progressBar1);
textProgress.setMax(100);
textProgress.setProgress(10); //
textProgress.setSecondaryProgress(50); //green