将两条弧闭合在一起

Close two arcs together

我正在设计一个自定义小部件,它的仪表类似于这个蓝色的: (除了这是一个连续的仪表而不是一个分开的仪表)

我试着画了两条弧线的路径:

private void drawGauge(Canvas canvas) {
        canvas.save(Canvas.MATRIX_SAVE_FLAG);
        float degreesToDraw = positionToDegree();
        gaugePath.addArc(secondArcRect, 90, degreesToDraw);
        gaugePath.addArc(faceRect, 90, degreesToDraw);
        gaugePath.close();
        canvas.drawPath(gaugePath, gaugePaint);
        canvas.restore();
    }

我的两条弧线画得很好,但 gaugePath.close() 不能正常工作,因为它用仪表起点(下点)关闭了路径。我想要的是在圆弧的两个端点(较高点)之间画一条线。

不幸的是,我不知道如何找到他们的坐标来绘制这条想要的线。

仅供参考,我目前正在绘制此图:

有 idea/help 吗? :)

问题是 faceRect 和 secondArcRect 的中心没有在 y 轴上对齐。 只需修复此问题并使它们的右下点共享相同的 y 位置(让两条弧在开始时交叉并正确填充)就足够了