Android N 多语言环境支持未按预期工作

San*_*eet 6 android android-7.0-nougat

在开发应用程序时,我尝试使用 Android N 多语言支持。如开发人员网站上所述。似乎它会使用资源解析机制自动选择资源。

但它似乎不起作用,或者可能是我遗漏了什么?

这是完整的场景:

  1. 设备为葡萄牙语(pt_PT)和德语(de_DE)分别作为首选语言列表。
  2. app支持的locales放在对应的资源文件夹中:

    一种。值(默认) b. 价值观-德 C. 价值观

因此,根据开发人员网站上提供的解释,它应该从“values-de”目录中选择语言环境。但它显示了默认的。

有人可以让我知道可能出了什么问题吗?

在此处输入图片说明

小智 5

有趣的是,此问题在示例项目中重现。但是如果我从编译依赖项中删除“appcompat-v7”,一切都会按预期工作。我现在不知道为什么,我会继续挖掘。

更新:

添加 appcompact-v7 确实可以解决问题。观看本教程以了解原因:

https://blog.egorand.me/a-curious-case-of-multiple-locales/

  • 救了我。将 resConfigs“auto”添加到我的“build.gradle”中并且可以工作! (2认同)

小智 -1

您需要在 AndroidManifest.xml 中添加 android:configChanges="locale"