我正在使用适用于 Android 的 HoloGraphLibrary,但我需要饼图中每个段的百分比(在其段中)。
因为没有任何坐标系,我不能只找到线段并添加一些文本,所以我需要一个聪明的技巧来做到这一点。我唯一可以支配的值(value)观是: - 饼图的midX和midY坐标 - 内外半径 - 每段扫描(或它覆盖的 360 度角度)
我已经设法获得了标签的 Y 坐标,但是对 X 坐标使用相同的方法并没有产生正确的结果。这是我到目前为止的代码:
canvas.drawText(slice.getTitle(), (float) (midX + (innerRadius + (radius - innerRadius)/2)*-1*Math.cos((currentSweep-padding)/2*(Math.PI/180) )), (float) (midY - (innerRadius + (radius - innerRadius)/2)*Math.cos((currentSweep)/2*(Math.PI/180))), paint);
任何人都可以帮助将标签居中置于段中吗?
谢谢
最佳答案
好吧,我的错, 这是一个答案:
// add a text title centered in each slice :
textAngle += currentSweep;
mBlackColorPaint.setTextAlign(Paint.Align.CENTER);
System.out.println("title : " + slice.getTitle() + "Sweep : "+currentSweep + " Angle = "+currentAngle);
canvas.drawText(slice.getTitle(),
(float) (midX + (innerRadius + (radius - innerRadius)/2)*Math.sin((textAngle)*(Math.PI/360) )),
(float) (midY - (innerRadius + (radius - innerRadius)/2)*Math.cos((textAngle)*(Math.PI/360))),
mBlackColorPaint);
textAngle += currentSweep;
在设置Region对象后把它放在onDraw()方法中
关于android - 饼图中心 - Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20310649/