我想创建多种颜色的进度条,它可以是5种固定颜色(如setProgress(100/20比率))。
我们如何将修复部分的进度条与颜色分开?
有人可以建议我是否有任何图书馆或示例?
我也希望在进度条的中心显示文字。
这是进度条视图,提前感谢任何帮助和建议.. :)
答案 0 :(得分:0)
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;
}