创建多个颜色进度条

时间:2017-05-13 10:07:22

标签: android android-view android-custom-view android-drawable android-progressbar

我想创建多种颜色的进度条,它可以是5种固定颜色(如setProgress(100/20比率))。

我们如何将修复部分的进度条与颜色分开?

有人可以建议我是否有任何图书馆或示例?

我也希望在进度条的中心显示文字。

这是进度条视图,提前感谢任何帮助和建议.. :)

Progress bar view

1 个答案:

答案 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;     
   }