我正在创建一个图表,我需要y轴的轴标题。
问题是我需要在-90度到水平方向。
以下是我此刻旋转文字的方法。
paint.setTypeface(Typeface.SANS_SERIF);
canvas.save();
canvas.rotate(-90,15,viewHeight/2+20);
canvas.drawText(yAxisTitle,15,viewHeight/2+20, paint);
canvas.restore();
问题是一旦它在垂直方向上旋转不直。它好像走得太远了?
任何帮助都会很棒。
干杯
答案 0 :(得分:1)
在这种情况下,它似乎只是在模拟器上发生。在4台设备上进行的测试都以正确的角度显示文本?!
答案 1 :(得分:0)
onDraw()
子类中的TextView
:
canvas.save();
canvas.translate(0, getHeight());
canvas.rotate(-90);
Layout layout = getLayout();
if (layout != null)
layout.draw(canvas);
canvas.restore();
为了使文字使用setText()
答案 2 :(得分:0)
我的解决方案如下:我绘制背景位图,然后是文本。我不是旋转画布然后在画布上绘制位图和文本,而是首先在位图(在其画布上)上绘制文本,然后旋转画布,然后在旋转的画布上绘制位图。然后人物是直的。如果没有背景图像,则可以创建透明位图,将其用作背景,然后在旋转画布之前在其上绘制文本。