我有一个Android应用,如果用户将其字体大小设置为超大(通过设置 - >显示 - > 4.0及更高的字体大小),需要进行一些调整。
我有一个简单的方法来告诉用户的字体大小首选项是什么
更新
在我的layout.xml中,我有类似于设置按钮的行
android:textAppearance="?android:attr/textAppearanceMedium"
android:textStyle="bold"
android:typeface="sans"
请注意,我没有直接设置字体大小。除了超大设置外,此布局在所有情况下均可正常运行。在这种情况下,由于空间限制,它会使按钮的文本换行为2行。
我的目标是在超大的情况下稍微改变一下,以便它不会包裹
答案 0 :(得分:7)
您应该能够查询系统FONT_SCALE
参数。我自己没有使用它,但我想它检索它的值看起来有点像这样:
float fontScale = Settings.System.getFloat(context.getContentResolver(), Settings.System.FONT_SCALE)
但是,我还想指出,通常你不应该直接处理这个值。相反,使用sp
单位作为文本内容,这样您就不必担心自己调整用户首选字体大小,而是让系统处理它。