如何在 canvas android 中绘制弯曲的箭头

How to draw a curved arrow in canvas android

我有这段代码可以在 2 点之间绘制箭头尾线,但是我应该如何绘制箭头尾部的曲线?

canvas.drawLine(pt1[X], pt1[Y], pt2[X], pt2[Y], paint);//draw line

我想要这样的东西,箭头是动态的

根据您想要的曲线形状,您或许可以使用 Canvas.drawArc(),但这仅限于与屏幕轴对齐的椭圆形部分。

对于更通用的方法,将曲线定义为 Path and then use Canvas.drawPath() 以将其渲染到 canvas。一条Path可以由任意条直线、二次曲线、三次曲线段组成。 (有关如何构造所需的 Path 的文档,请参阅文档。)对于实心箭头尾部,您应该在调用 drawPath().

时将绘制的样式设置为 FILL