Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在Android中使用画布绘制在弧顶绘制直线路径_Java_Android_Canvas_Paint_Mpandroidchart - Fatal编程技术网

Java 如何在Android中使用画布绘制在弧顶绘制直线路径

Java 如何在Android中使用画布绘制在弧顶绘制直线路径,java,android,canvas,paint,mpandroidchart,Java,Android,Canvas,Paint,Mpandroidchart,我在一个android应用程序中工作,我需要画一个这样的图形 我已经用油漆和帆布画了弧,但我不知道如何画线路径以及下图中提到的文字 任何有关这方面的消息都会对我很有帮助。提前谢谢 为了准确地保持直线的方向,必须使用许多三角函数和微积分。但是,对于这种情况,您可以使用canvas.rotate()来获得棘手的解决方案。对于解决方案,首先根据一个值计算线的角度。例如,假设圆弧表示200的总值。左侧为0,右侧为200,则得到值80。利用这些值,你可以计算出180度*(80f)/(200-0)的角度,它

我在一个android应用程序中工作,我需要画一个这样的图形

我已经用油漆和帆布画了弧,但我不知道如何画线路径以及下图中提到的文字

任何有关这方面的消息都会对我很有帮助。提前谢谢


为了准确地保持直线的方向,必须使用许多三角函数和微积分。但是,对于这种情况,您可以使用
canvas.rotate()
来获得棘手的解决方案。对于解决方案,首先根据一个值计算线的角度。例如,假设圆弧表示200的总值。左侧为0,右侧为200,则得到值80。利用这些值,你可以计算出180度*(80f)/(200-0)的角度,它给出72度。然后,您可以旋转画布以绘制
画布。旋转(70f,centerX,centerY)
。CenterX和CenterY是圆弧中心点的值。之后,您可以在画布左下角绘制线条
canvas.drawLine(0100,20100,paint)


简短回答:canvas.drawLine()和canvas.drawText()。你看过这个方法吗?嗨@MDikkii是的,我们可以用你提到的方法画线和文本。但是我们也需要线角和位置的计算。需要像这样的解决方案需要像这样的解决方案这是我在这个主题上找到的最简单和最聪明的解决方案,我喜欢它。既然可以旋转画布,为什么还要旋转线条呢。天才。
canvas.save()
canvas.rotate(70f,centerX,centerY)
canvas.drawLine(0,100,20,100,paint)
canvas.restore()