gpt4 book ai didi

android - DrawText 奇怪的行为

转载 作者:行者123 更新时间:2023-11-29 14:02:32 27 4
gpt4 key购买 nike

我想在屏幕 Canvas 上绘制与第一个字符串相邻的第二个字符串。第二个字符串的起点应该是第一个字符串的宽度。我使用了Android的paint.measuretext()方法。但它返回的宽度小于实际宽度。所以我的第二个字符串与第一个重叠。任何人都可以解释如何获得字符串的准确宽度吗?

testString1 = "44444444444444444444444444444444444444444";
testString2 = "Sample Test String";
canvas.drawText(testString1,0,50, paint);
int textWidth = (int)paint.measureText(testString1);
canvas.drawText(testString2,textWidth,50, paint);

最佳答案

measuretext() 是更精确的测量器。因此,您在测量和绘图之间更改了文本本身或字体或字体大小或其他内容。

另见here用于其他测量方法。但不要等待太多 - measuretext 是一个很好的测量器,错误几乎肯定在你这边。

新编辑:检查 string1+string1 的相同函数 - 如果结果是前一个的 2 倍?如果是 - 这意味着您正在等待一个单元的结果,而您正在其他单元中获得结果。 (measuretext 在缩放像素中工作)。也许绘画或 Canvas 使用不同的度量来设置 x、y 和文本度量。

编辑 2:模拟器可以定义不正确的缩放比例。在那里尝试不同的分辨率/屏幕尺寸。如果它影响了结果,你应该找到 Paint/Canvas 参数,你可以通过它来补偿屏幕分辨率的影响。

关于android - DrawText 奇怪的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8791718/

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