【问题标题】:how do I automatically adjust textSize in android?如何在android中自动调整textSize?
【发布时间】:2011-07-30 09:23:42
【问题描述】:

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

【问题讨论】:

    标签: android textview text-size


    【解决方案1】:

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

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

    解决完美的文本大小:

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

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

    把它变成一道数学题!

    【讨论】:

    • 我刚试过这个,结果是,每次文本都变得很小,我什至看不到它。
    • 因为函数错误,应该修改为perfectSize = (text size / measureText width) * screenWidth;
    【解决方案2】:

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

    基本上,您将从小于TextView 高度的字体高度开始,然后遍历(或进行二分搜索)不同大小的字体,直到找到小于@987654323 宽度的字体@。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-01-24
      • 2013-07-16
      • 2014-03-31
      • 1970-01-01
      • 2020-06-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多