在圆弧上画圆

时间:2019-01-27 23:20:57

标签: android android-canvas

我有以下代码

float angle = (-1) * 360 * progress / max;
        canvas.drawArc(rectF, startAngle, angle, false, foregroundPaint);
        double dotX = Math.cos(startAngle+angle) * rectF.centerX() + rectF.width()/2.0;
        double dotY = Math.sin(startAngle+angle) * rectF.centerY() + rectF.height()/2.0;
        canvas.drawCircle((float)dotX, (float)dotY,strokeWidth*1.5f, dotPaint);

这旨在在兽人末端绘制一个弧形和一个红色圆圈。但是,根据“进度”值(即角度),我的圆不在圆弧上。 例如在40处是弧形,在47处是..etc

我在做什么错了?

1 个答案:

答案 0 :(得分:-1)

如果我理解您的问题是对的,只需使用一个库来创建弧形布局,然后在其末尾添加您的圆。

弧形布局:

https://android-arsenal.com/details/1/4823