android - Android - 如果使用 androidx,则不应用可访问性字体大小的系统设置
问题描述
我们正在努力使我们的应用程序更易于访问,我们正在研究的一件事是在从系统设置配置时支持更大的字体大小。
我们注意到在 Android 7.0(可能还有更早的版本)上,系统字体大小在我们的应用程序中没有正确应用。我们还注意到,像 gmail 之类的其他一些应用程序正在正确处理字体大小的变化,所以这是我们的应用程序做错了“某事”。经过一段时间的调查,我们发现使用 androidx 库似乎是原因。
例如,在 Android Studio 下创建一个“hello world”新项目,您会看到一个“使用 android artifacts”复选框:
如果您选中“androidx”复选框(不起作用) ,这将是您的应用程序的结果:
如果您没有选中“androidx”复选框(正常工作) ,这将是您的应用程序的结果:
如果您选中该框,生成的应用程序二进制文件将不会在 Android 7.0 上正确应用系统可访问性字体大小更改,否则它将正常工作。
迁移到 androidx 需要做一些工作,因为它是未来(支持库逐渐被弃用),返回并不是一个真正的选择:/
有没有其他人遇到过类似的问题?这可能是 androidx 库的错误吗?
如果有人找到一种方法来保留 androidx 库并且没有这个错误,我真的很想知道它,提前谢谢你!
解决方案
更新您的实现,例如: implementation 'androidx.appcompat:appcompat:1.2.0-alpha01' 您可能还需要: implementation 'com.android.support:support-v4:28.0.0'
推荐阅读
- python - 使用 RegEx 在其他字符串之间提取字符串
- asp.net-core - SignalR 主要/次要问题
- c# - 覆盖 Clicked 事件及其相应的 OnClicked 会引发编译时错误
- python - (Selenium,Python)通过相对路径定位元素时遇到问题
- javascript - 使用 JavaScript 添加选取框
- python - 防止在线 SQL 查询的 SQL 注入
- javascript - Vue:axios:404响应未找到:页面存在时
- html-table - Trying to display 2 tables side by side but using Display: inline-table or float:left doesn't seem to work. Suggestions?
- python - Python中有没有办法获取一个字符串并找到与之关联的列表?
- powershell - Windows cmdlet over powershell 通过,但通过 winrm 拒绝访问以进行群集感知更新