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