使用Canvas
anddrawText()
方法时,我在 Android 4.2.1 上看到了不同的渲染。
4.2以下:
对于 Android 4.2.1 (Nexux 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() 无法正常工作
编辑:
这种奇怪的行为已报告给 Android 团队:http ://code.google.com/p/android/issues/detail?id=39755但它仍然不是“官方”问题。
编辑(2):
一些谣言声称问题是 textSize < 1.0f ...