微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Android 4.2.1错误字符字距(间距)

当使用Canvas和drawText()方法时,我在 Android 4.2.1上看到不同的渲染.

4.2以下:

对于Android 4.2.1(Nexux 7)我得到:

正如您可以看到的文字消费非常紧张.似乎是在4.2.1中引入的字距问题.用于绘制文本的油漆没有什么特别之处:

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中得到一个奇怪的结果,你可以看到:

Android 4.2 on Nexus 7: canvas.drawText() not working correctly

编辑:

这个奇怪的行为已经向Android团队报告:http://code.google.com/p/android/issues/detail?id=39755,但它仍然不是一个“官方”问题.

编辑(2):

有些传言称这个问题是一个textSize< 1.0F ...

解决方法

解决方法,我正在使用:
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();

正如你所看到的,我正在重新调整文本的位置,所以它应该在那里.

原文地址:https://www.jb51.cc/android/312443.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐