首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DrawText奇怪的行为

DrawText奇怪的行为
EN

Stack Overflow用户
提问于 2012-01-09 23:20:33
回答 1查看 882关注 0票数 2

我想在屏幕画布上绘制与第一个字符串相邻的第二个字符串。第二个字符串的起点应该是第一个字符串的宽度。我使用的是Android的paint.measuretext()方法。但它返回的宽度小于实际宽度。所以我的第二个字符串与第一个字符串重叠。有谁能解释一下如何得到一根线的准确宽度?

代码语言:javascript
复制
testString1 = "44444444444444444444444444444444444444444";
testString2 = "Sample Test String";
canvas.drawText(testString1,0,50, paint);
int textWidth = (int)paint.measureText(testString1);
canvas.drawText(testString2,textWidth,50, paint);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-01-10 06:32:44

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

也可以在here上寻找其他的测量方法。但是不要等待太多-- measuretext是一个很好的测量者,错误几乎肯定在你这边。

新编辑:为string1+string1检查相同的函数-如果结果将是以前的2倍?如果是,这意味着你正在等待一个单元的结果,而你正在等待另一个单元的结果。(measuretext以缩放像素为单位工作)。也许画布或画布使用不同的度量来设置x,y和文本度量。

编辑2:不正确的缩放可以由仿真器定义。在那里尝试不同的分辨率/屏幕尺寸。如果会影响结果,则应找到Paint/Canvas参数,通过该参数可以补偿屏幕分辨率的影响。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8791718

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档