0

我正在编写一个应用程序,其中的一部分显示一行文本。在某些情况下,该行文本将占用多行。问题是我只希望它占一行,当我在java或xml中设置它只占一行时,文本被截断。我将如何使它自动调整文本的字体大小,使其只占用一行而不会被截断?

4

2 回答 2

3

将比例与Paint.measureText()一起使用:

(文本大小/measureText 宽度) = (perfectSize/screenWidth)

解决完美的文本大小:

perfectSize = (text size / measureText width) * screenWidth;

getWindowManager().getDefaultDisplay().getWidth()您可以从Display类中找到屏幕宽度。

变成一道数学题!

于 2011-04-06T00:55:17.517 回答
0

如果您使用Paint#measureText,这并不难做到。

基本上你会从一个小于你的高度的字体高度开始,TextView然后通过不同大小的字体迭代(或进行二分搜索),直到找到一个小于你的宽度的字体TextView

它需要一些实现,因为框架没有提供“自动”方式。

于 2011-04-05T22:55:02.733 回答