请教关于canvas绘图的问题

想实现一个动态画圆环的功能,用于统计数据百分比,当不同的数据时要采用不同的颜色,在实现的过程中遇到了一个问题,未达到想要的效果。

代码如下:

 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);
    }



效果如图, 本来红色的变成白色的了。



而我想要的效果是下面:


请问该如何实现?谢谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值