当前位置: 首页 > 面试题库 >

如何更改Android O / Oreo / api 26应用程序语言

董嘉祯
2023-03-14
问题内容

我想更改应用程序的语言,在API 26之前可以正常使用。

对于api> 25我放在了Locale.setDefault(Locale.Category.DISPLAY, mynewlanglocale);前面,setContentView(R.layout.activity_main);但没有任何变化。

该文档不解释太多关于这一点。


问题答案:

我遇到了同样的问题:自Android
8.0+起,我的应用程序的某些部分不再更改其语言。更新应用程序和活动上下文对我有帮助。这是MainActivity函数的示例:

private void setApplicationLanguage(String newLanguage) {
    Resources activityRes = getResources();
    Configuration activityConf = activityRes.getConfiguration();
    Locale newLocale = new Locale(newLanguage);
    activityConf.setLocale(newLocale);
    activityRes.updateConfiguration(activityConf, activityRes.getDisplayMetrics());

    Resources applicationRes = getApplicationContext().getResources();
    Configuration applicationConf = applicationRes.getConfiguration();
    applicationConf.setLocale(newLocale);
    applicationRes.updateConfiguration(applicationConf, 
    applicationRes.getDisplayMetrics());
}


 类似资料:
  • 我希望我的应用程序支持三种语言西班牙语,葡萄牙语 1)3个可绘制文件夹可绘制-es,可绘制-pt,可绘制。 2)3个值文件夹值-es,值-pt,值。根据语言更改String.xml值。 我有imageView来选择语言。当点击它时,菜单打开,包括选项英语、西班牙语、葡萄牙语。 我通过以下代码在选项选择上设置应用程序内部的区域设置 我已在清单中声明-android:configChanges=“lo

  • 问题内容: 我正在使用FXML中描述的核心组件制作JavaFX桌面应用程序,我想为用户提供更改语言的选项。但是,一旦从FXML加载了组件,我还没有找到任何直接的方法来更改语言。 问题是,有什么标准方法可以处理JavaFX中的语言切换。 问题答案: 你可以做这样的事情。正如您在回答中一样,您可能希望将其实现为单例,或者使用DI框架在需要的地方注入单个实例: 现在,您可以执行以下操作: 而且任何时候您

  • 使用一种语言比另外一种语言更流利?请为您的 Creative Cloud 应用程序选择其他语言。 选择您的操作系统筛选依据:所有系统较新的系统:Mac OS 10.7、Windows 7 或更高版本较旧的系统:Mac OS 10.6、Windows Vista 或更早版本 较新的系统:Mac OS 10.7、Windows 7 或更高版本 使用 Adobe Creative Cloud 桌面应用程

  • 为应用程序创建多语言支持,可以更改应用程序中的语言设置。 至于现在,一切都适用于英语、西班牙语、法语、俄语,但不适用于印地语和汉语。 1) 我以原始语言指定语言名称,但在应用程序中指定,而不是हिन्दी 我能看到“印地语”。 \res \ values hi \数组。xml 2) 选择“印地语”后结束-实际上选择了默认值(英语) \res\values hi\strings。xml .... 在

  • 我只是按照这个页面的说明做了一个Flutter app,我在谷歌上搜索了如何更改应用程序的名称,找到了这个答案。但是我不能从清单文件中更改应用程序的名称。最初是。我将其更改为,它给出了错误 如何重置此错误并更改名称?

  • 问题内容: 我遇到了一些我无法解决的问题…我正在编写带有JList的Swing Java应用程序,该JList可以接受拖放操作。我想在通过Java应用程序从系统中拖动文件或文件夹时更改光标。 问题答案: 我自己找到了……不过感谢克林顿的回答。这是我使用的: 首先创建JList …大家都知道该怎么做…然后添加了setDropTarget: