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