首页 > 解决方案 > Android - 如果使用 androidx,则不应用可访问性字体大小的系统设置

问题描述

我们正在努力使我们的应用程序更易于访问,我们正在研究的一件事是在从系统设置配置时支持更大的字体大小。

我们注意到在 Android 7.0(可能还有更早的版本)上,系统字体大小在我们的应用程序中没有正确应用。我们还注意到,像 gmail 之类的其他一些应用程序正在正确处理字体大小的变化,所以这是我们的应用程序做错了“某事”。经过一段时间的调查,我们发现使用 androidx 库似乎是原因。

例如,在 Android Studio 下创建一个“hello world”新项目,您会看到一个“使用 android artifacts”复选框:

Android Studio 新建项目窗口

然后,如果您将可访问性字体大小设置为最大值: 辅助功能字体设置

如果您选中“androidx”复选框(不起作用) ,这将是您的应用程序的结果:文字大小不变

如果您没有选中“androidx”复选框(正常工作) ,这将是您的应用程序的结果:改变了文字大小

如果您选中该框,生成的应用程序二进制文件将不会在 Android 7.0 上正确应用系统可访问性字体大小更改,否则它将正常工作。

迁移到 androidx 需要做一些工作,因为它是未来(支持库逐渐被弃用),返回并不是一个真正的选择:/

有没有其他人遇到过类似的问题?这可能是 androidx 库的错误吗?

如果有人找到一种方法来保留 androidx 库并且没有这个错误,我真的很想知道它,提前谢谢你!

标签: androidaccessibilityandroidxandroid-accessibility

解决方案


更新您的实现,例如: implementation 'androidx.appcompat:appcompat:1.2.0-alpha01' 您可能还需要: implementation 'com.android.support:support-v4:28.0.0'


推荐阅读