为了账号安全,请及时绑定邮箱和手机立即绑定

如何在Android上获得字符串宽度?

如何在Android上获得字符串宽度?

蝴蝶刀刀 2019-08-27 11:27:16
如何在Android上获得字符串宽度?如果可能的话,我也希望得到身高。
查看完整描述

3 回答

?
繁星点点滴滴

TA贡献1803条经验 获得超3个赞

您可以使用getTextBounds(String text, int start, int end, Rect bounds)Paint对象的方法。您可以使用a提供的绘制对象,也可以使用TextView所需的文本外观自行构建。

使用Textview,您可以执行以下操作:

Rect bounds = new Rect();Paint textPaint = textView.getPaint();textPaint.getTextBounds(text, 0, text.length(), bounds);int height = bounds.height();int width = bounds.width();


查看完整回答
反对 回复 2019-08-27
?
茅侃侃

TA贡献1842条经验 获得超21个赞

文本有两种不同的宽度度量。一个是宽度绘制的像素数,另一个是绘制文本后光标应该提前的“像素数”。

paint.measureTextpaint.getTextWidths返回绘制给定字符串后光标应该前进的像素数(浮点数)。对于绘制的像素数,请使用paint.getTextBounds,如其他答案中所述。我相信这被称为字体的'Advance'。

对于某些字体,这两个测量值不同(很多),例如字体Black Chancery的字母延伸超过其他字母(重叠) - 请参阅大写字母“L”。使用其他答案中提到的paint.getTextBounds来绘制像素。


查看完整回答
反对 回复 2019-08-27
  • 3 回答
  • 0 关注
  • 612 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信