想实现一个动态画圆环的功能,用于统计数据百分比,当不同的数据时要采用不同的颜色,在实现的过程中遇到了一个问题,未达到想要的效果。
代码如下:
效果如图, 本来红色的变成白色的了。
而我想要的效果是下面:
请问该如何实现?谢谢!
代码如下:
class CustomView extends View {
Paint paint;
Paint paint1;
int startAngle = -90;
int sweepAngle = 0;
int sweepAngle1 = 0;
public CustomView(Context context) {
super(context);
rectF = new RectF(60, 120, 260, 320);
paint = new Paint();
paint.setColor(Color.RED);
paint.setAntiAlias(true);
paint.setStrokeWidth(60);
paint.setStyle(Paint.Style.STROKE);
paint1 = new Paint(paint);
paint1.setColor(Color.GREEN);
}
@Override
protected void onDraw(Canvas canvas) {
if (sweepAngle < 90) {
startDrawArc(canvas, startAngle, sweepAngle, paint);
sweepAngle += 2;
} else {
startDrawArc(canvas, -90 + 90, sweepAngle1, paint1);
sweepAngle1 += 2;
}
if (sweepAngle1 > 270) {
return;
}
invalidate();
}
void startDrawArc(Canvas canvas, float startAngle, float sweepAngle, Paint paint) {
canvas.drawArc(rectF, startAngle, sweepAngle, false, paint);
}
效果如图, 本来红色的变成白色的了。
而我想要的效果是下面:
请问该如何实现?谢谢!