使用Canvas.drawText()方法时如何知道文本的大小

6
我正在使用Canvas.drawText()在自定义视图上写文本。我想在文本后面添加一个背景9-patch drawable,因此我需要知道绘制文本的边界。由于文本是由用户输入的,所以它的大小不是固定的。
目前,我正在使用等宽字体,并成功构建了一个看起来还不错的大小,但实际上我更愿意使用其他字体。
3个回答

9
你可以使用Paint的public void getTextBounds(String text, int start, int end, Rect bounds) 方法来获取包含所有文本的矩形。请参考getTextBounds
希望这可以帮助你!

1

您也可以使用measureText

mTextTimeColorPaint.measureText(timeText)

在这篇文章中,就像 在手表上居中文本 一样。请保留HTML,不要解释。

1

我认为getTextBounds(String text, int start, int end, Rect bounds)可以帮助你实现。

这个方法属于Paint类:

请参考此链接


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接