我正在创建一个图形,我需要一个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();问题是一旦它旋转了,它就不是垂直的。是不是太过分了?
任何帮助都是最好的。
干杯
发布于 2012-10-15 22:34:48
在这种情况下,它似乎只是在仿真器上发生。在4台设备上的测试都以正确的角度显示了文本?!
发布于 2012-09-17 22:48:42
在TextView子类中挖掘onDraw():
canvas.save();
canvas.translate(0, getHeight());
canvas.rotate(-90);
Layout layout = getLayout();
if (layout != null)
layout.draw(canvas);
canvas.restore();在放置文本顺序中使用setText()
发布于 2013-11-07 21:02:02
我的解决方案如下:我绘制背景位图,然后绘制文本。我不是旋转画布然后在画布上绘制位图和文本,而是首先在位图上(在其画布上)绘制文本,然后旋转画布,然后在旋转后的画布上绘制位图。那么人物就是笔直的。如果没有背景图像,可以创建一个透明的位图,将其用作背景,并在旋转画布之前在其上绘制文本。
https://stackoverflow.com/questions/12461241
复制相似问题