美文网首页android
app内动态切换语言

app内动态切换语言

作者: WLHere | 来源:发表于2018-10-31 15:24 被阅读0次
  1. 设置context的语言
public static void setApplicationLanguage(Context context, Locale locale) {
        Resources resources = context.getApplicationContext().getResources();
        DisplayMetrics dm = resources.getDisplayMetrics();
        Configuration config = resources.getConfiguration();
        config.locale = locale;
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
            LocaleList localeList = new LocaleList(locale);
            LocaleList.setDefault(localeList);
            config.setLocales(localeList);
            context.getApplicationContext().createConfigurationContext(config);
            Locale.setDefault(locale);
        }
        resources.updateConfiguration(config, dm);
    }
  1. 重置语言相关静态属性
  • http header:"Accept-Language"
  • 其他属性
  1. 重启activity
activity.recreate();
  1. 完成

相关文章

网友评论

    本文标题:app内动态切换语言

    本文链接:https://www.haomeiwen.com/subject/lxyatqtx.html