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

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

如果可能的话,我也希望得到身高。



蝴蝶刀刀
浏览 613回答 3
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();

茅侃侃

文本有两种不同的宽度度量。一个是宽度绘制的像素数,另一个是绘制文本后光标应该提前的“像素数”。paint.measureText和paint.getTextWidths返回绘制给定字符串后光标应该前进的像素数(浮点数)。对于绘制的像素数,请使用paint.getTextBounds,如其他答案中所述。我相信这被称为字体的'Advance'。对于某些字体,这两个测量值不同(很多),例如字体Black Chancery的字母延伸超过其他字母(重叠) - 请参阅大写字母“L”。使用其他答案中提到的paint.getTextBounds来绘制像素。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Android