首页 文章

将两个弧线关在一起

提问于
浏览
0

我正在设计一个自定义小部件,其尺寸与此蓝色相似:
gauge
(除了这是一个连续的标尺,而不是一个分裂的标尺)

我试图绘制一个有两个弧的路径:

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() 不能用作例外,因为它用规格起点(低点)关闭了路径 . 我想要的是在弧的两个 endpoints (较高点)之间画一条线 .

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

仅供参考,我现在正在画这个:
enter image description here

任何想法/帮助? :)

1 回答

  • 0

    麻烦的是faceRect和secondArcRect的中心没有在y轴上对齐 . 简单地固定它并使它们在它们的右下角共享相同的y位置(让两个弧在开始时交叉,然后正确填充)就足够了

相关问题