8

我为 spannableText 设置跨度并将其设置为 TextView。在我想得到这个文本的宽度和高度之后。但是结果并没有考虑到由于设置的跨度而导致的文本大小的变化。下一个解决方案是工作不正确。

return textView.getPaint().measureText(text, 0, text.length());
4

1 回答 1

0

您应该使用您的文本创建一个StaticLayout(或API > 23 的StaticLayout.Builder)并获取文本的宽度和高度。如果您对系统为您换行不感兴趣,您应该为宽度参数提供 Integer.MAX_VALUE。

创建 StaticLayout 后,您可以使用 getWidth()、getHeight()、getLineWidth() 等函数来查找您要查找的信息。

于 2018-03-15T09:51:17.917 回答