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

时间:2016-09-27 04:19:59

标签: android android-7.0-nougat

在开发应用时,我尝试使用Android N多语言支持。正如开发人员site所解释的那样。它似乎会使用资源解析机制自动选择资源。

但它似乎不起作用或者我错过了什么?

以下是完整的方案:

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

    一个。值(默认) 湾值德 C。值-ES

  3. 因此,根据开发者网站上提供的解释,它应该从“values-de”目录中选择区域设置。但它显示了默认值。

    有人能让我知道可能出现的问题吗?

    enter image description here

3 个答案:

答案 0 :(得分:4)

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

更新:

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

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

答案 1 :(得分:0)

我遇到了这个问题,发现删除应用程序不需要的替代资源可以解决此问题。

android {
  defaultConfig {
      ...
      // Keeps language resources for only the locales specified below.
      resConfigs "de", "es"
    }
}

查看Google Developer文档here

答案 2 :(得分:-1)

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