Android 使用指定的strings.xml

Android 使用指定的strings.xml,android,multilingual,android-resources,Android,Multilingual,Android Resources,对于多语言应用程序,我有两个不同的strings.xml。在哪里可以设置我希望使用英语strings.xml文件,而不依赖于电话语言环境,但仅在启动屏幕上选择中文时才使用中文?要支持应用程序中的语言设置,您需要更改当前配置并重新启动活动以重新加载所有资源。您可以按如下方式更改当前配置: void changeLanguage(Context context, String language) { final Locale locale = new Locale(language);

对于多语言应用程序,我有两个不同的
strings.xml
。在哪里可以设置我希望使用英语
strings.xml
文件,而不依赖于电话语言环境,但仅在启动屏幕上选择中文时才使用中文?

要支持应用程序中的语言设置,您需要更改当前配置并重新启动活动以重新加载所有资源。您可以按如下方式更改当前配置:

void changeLanguage(Context context, String language) {
    final Locale locale = new Locale(language);
    Locale.setDefault(locale);

    final Resources res = context.getResources();
    final Configuration config = new Configuration(res.getConfiguration());
    config.setLocale(locale);
    res.updateConfiguration(config, res.getDisplayMetrics());
}
然后别忘了重新创建活动
activity.recreate()或手动重新加载资源

此外,还需要在每个进程启动时设置区域设置。您可以在application onCreate中执行此操作:

public void YourApplication extends Application {

    @Override
    public void onCreate() {
        super.onCreate();
        changeLanguage(this, getLanguageSettingsFromPreferences());
    }
}

你读过这篇文章了吗?你想支持在你的应用程序中选择语言吗?@Bracadabra是的,我只需要打开一个应用程序,其中strings.xml将符合启动屏幕上选择的语言。