如何自动调整android中的文字大小?

时间:2011-04-05 22:50:45

标签: android textview text-size

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

2 个答案:

答案 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

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