10

如果用户将其字体大小设置为特大(通过设置 -> 显示 -> 4.0 及更高版本中的字体大小),我有一个 Android 应用程序需要进行一些调整。

有没有一种简单的方法可以告诉我用户的字体大小偏好是什么

更新:
在我的 layout.xml 我有类似于设置按钮的行

android:textAppearance="?android:attr/textAppearanceMedium"
android:textStyle="bold"
android:typeface="sans"

请注意,我没有直接设置字体大小。这种布局在所有情况下都有效并且看起来不错,除了超大设置。在这种情况下,由于空间限制,它会导致按钮的文本换行为 2 行。

我的目标是在Extra Large的情况下稍微改变措辞,这样它就不会换行

4

1 回答 1

10

FONT_SCALE您应该能够查询系统的参数。我自己没有使用过它,但我想检索它的值看起来有点像这样:

float fontScale = Settings.System.getFloat(context.getContentResolver(), Settings.System.FONT_SCALE)

但是,我还想指出,通常你不应该直接处理这个值。相反,对文本内容使用sp单位,这样您就不必担心自己调整到用户首选的字体大小,而是让系统来处理。

另请参阅:为什么我们要在 Android 中使用 sp 作为字体大小?

于 2012-12-23T03:18:06.030 回答