Resources and layout direction rendered incorrectly only on Android 8.0 and above

前端 未结 6 770
执念已碎
执念已碎 2020-11-29 11:06

I have a multilingual app with primary language English and secondary language Arabic.

I am calling setLocale() in the onCreate() of every

6条回答
  •  半阙折子戏
    2020-11-29 11:57

    public void setLocale(final Context ctx, final String lang) {
        AppSettings.getInstance(ctx).save(PrefKeys.language, lang);
        final Locale loc = new Locale(lang);
        Locale.setDefault(loc);
        final Configuration cfg = new Configuration();
        cfg.locale = loc;
        ctx.getResources().updateConfiguration(cfg, null);
    }
    

    Change to English: setLocale(getActivity(), "en";

    Change to Arabic : setLocale(getActivity(), "ar");

    After this you need to restart the application to get the Language change effects.

提交回复
热议问题