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();

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

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...