【问题标题】:Create multiple colour progress bar创建多色进度条
【发布时间】:2017-10-12 14:33:12
【问题描述】:
我想创建具有多种颜色的进度条,它可以是 5 种固定颜色(如 setProgress(100/20 ratio))。
我们如何用颜色划分修复部分的进度条?
有人可以建议我是否有任何图书馆或示例?
我还想在进度条的中心显示文本。
这是进度条视图,在此先感谢您的帮助和建议..:)
【问题讨论】:
标签:
android
android-view
android-custom-view
android-drawable
android-progressbar
【解决方案1】:
Canvas 类有一个函数 drawArc,它可以满足您的需要。
这段代码给了你一些提示。
private static final int ARCS_COUNT = 4;
private static final int SWEEP_ANGLE = 360/(ARCS_COUNT+1); // 72
private static final int[] colours =
new int[] {Color.RED, Color.YELLOW, Color.GREEN, Color.BLUE};
.....
Paint p = new Paint();
p.SetStyle(PaintStyle.STROKE);
p.setStrokeWidth(4):
// Point (50,50) will be the centre of the bar.
RectF rectF = new RectF(0,0,100,100);
int startAngle = 180;
for (int i = 0; i<ARCS_COUNT; i++) {
p.setColor(colours[i]);
canvas.drawArc(rectF, startAngle, SWEEP_ANGLE, false, p);
startAngle += SWEEP_ANGLE;
}