我正在编写一个应用程序,其中一部分显示一行文字。在某些情况下,该行文本将占用多行。问题是我只想占用一行,当我在java或xml中设置它只占用一行时,文本被截断。如何制作它以便它自动调整文本的字体大小,以便它只占用一行而不被切断?
答案 0 :(得分:3)
使用比例和Paint.measureText():
(text size / measureText width)=(perfectSize / screenWidth)
求解完美的文字大小:
perfectSize = (text size / measureText width) * screenWidth;
您可以在Display课程中找到getWindowManager().getDefaultDisplay().getWidth()
的屏幕宽度。
把它变成了数学问题!
答案 1 :(得分:0)
如果您使用Paint#measureText,这并不难。
基本上,你的字体高度应小于TextView
的高度,然后通过不同大小的字体进行迭代(或进行二分搜索),直到找到一个小于你的宽度的字体为止。 TextView
。
它需要一些实现,因为框架没有提供“自动”方式。