我正在设计一个自定义小部件,其尺寸与此蓝色相似: (除了这是一个连续的测量仪,而不是一个分裂的测量仪)
我试图绘制一条带有两个弧的路径:
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()
不能正常工作,因为它用规格起点(低点)关闭了路径。我想要的是在弧的两个端点(较高点)之间画一条线。
不幸的是,我不知道如何找到他们的坐标来绘制这条想要的线。
任何想法/帮助? :)
答案 0 :(得分:1)
麻烦的是faceRect和secondArcRect的中心没有在y轴上对齐。 简单地修复它并使它们在右下角共享相同的y位置(让两个弧在开始时交叉,然后正确填充)就足够了