我试图以与传统方式略有不同的方式绘制饼图。无论如何,馅饼都有相同的块,但是每个块的半径是不同的。所以所有的弧仍然以一个点为中心,但具有不同的半径。
这是它的简化代码。
rect1 = new RectF(0,0,8,8)
rect2 = new RectF(0,0,6,6)
rect3 = new RectF(0,0,4,4)
rect4 = new RectF(0,0,2,2)
canvas.drawArc(rect1,0,90,true, paint)
canvas.drawArc(rect2,90,90,true, paint)
canvas.drawArc(rect3,180,90,true, paint)
canvas.drawArc(rect4,270,90,true, paint)
这将创建所有正确的弧,但所有弧的点不在同一位置居中。我知道这是因为 RectF 类的工作方式。
所以我的问题是,我可以在画布的中心排列这些不同的弧吗?在某处我可以使用弧偏移来执行此操作吗?
我用油漆尝试了这个解决方案,但没有成功。任何的意见都将会有帮助!