确定用户字体大小选择

Noa*_*oah 8 fonts android font-size

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

我有一个简单的方法来告诉用户的字体大小偏好是什么

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

android:textAppearance="?android:attr/textAppearanceMedium"
android:textStyle="bold"
android:typeface="sans"
Run Code Online (Sandbox Code Playgroud)

请注意,我没有直接设置字体大小.除了超大设置外,此布局在所有情况下都能正常工作.在这种情况下,由于空间限制,它会使按钮的文本换行为2行.

我的目标是在特大号的情况下进行轻微的措辞改变,使其不会换行

MH.*_*MH. 8

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

float fontScale = Settings.System.getFloat(context.getContentResolver(), Settings.System.FONT_SCALE)
Run Code Online (Sandbox Code Playgroud)

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

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