使用时Canvas
and drawText()
方法我在 Android 4.2.1 上看到了不同的渲染。
4.2 以下:
对于 Android 4.2.1 (Nexus 7) 我得到:
正如你所看到的文字消耗很紧。似乎是4.2.1中引入的字距调整问题。用于绘制文本的 Paint 没什么特别的:
titlePaint = new Paint();
titlePaint.setAntiAlias(true);
titlePaint.setColor(0xffffffff);
titlePaint.setTextSize(0.125f);
titlePaint.setTypeface(Typeface.defaultFromStyle(Typeface.BOLD));
titlePaint.setTextAlign(Align.CENTER);
titlePaint.setLinearText(true);
如果我不使用titlePaint.setLinearText(true)
正如您所看到的,我在 4.2.1 上得到了一个奇怪的结果:
Nexus 7 上的 Android 4.2:canvas.drawText() 无法正常工作 https://stackoverflow.com/questions/13941270/android-4-2-on-nexus-7-canvas-drawtext-not-working-correctly
EDIT:
这种奇怪的行为已报告给 Android 团队:http://code.google.com/p/android/issues/detail?id=39755 http://code.google.com/p/android/issues/detail?id=39755但这仍然不是一个“官方”问题。
编辑(2):
一些谣言声称问题是 textSize
解决方法,我目前正在使用:
scalePaint.setTextSize(1.5f);
然后,在onDraw方法中:
canvas.save();
canvas.scale(0.01f, 0.01f);
canvas.drawText(""+i, 0.5f*100, 0.8f*100, scalePaint);
canvas.restore();
正如您所看到的,我正在重新调整文本的位置,因此它位于它应该在的位置。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)