gpt4 book ai didi

Android 4.2.1 错误字符kerning(间距)

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:55:54 31 4
gpt4 key购买 nike

当使用 CanvasdrawText() 方法时,我在 Android 4.2.1 上看到了不同的渲染。

4.2以下:

enter image description here

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

enter image description here

如您所见,消耗 文本非常紧张。似乎是 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 上得到一个奇怪的结果,如您所见:

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 4.2.1 错误字符kerning(间距),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13974129/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com