@Override
protected void attachBaseContext(Context newBase) {
String selectedLanguage = AccountPreference.getLanguage();
context = LanguageUtil.attachBaseContext(newBase, selectedLanguage);
super.attachBaseContext(context);
}
// fix change language issue after migrate to AndroidX
// https://stackoverflow.com/questions/55265834/change-locale-not-work-after-migrate-to-androidx
@Override
public void applyOverrideConfiguration(Configuration overrideConfiguration) {
if (overrideConfiguration != null) {
int uiMode = overrideConfiguration.uiMode;
overrideConfiguration.setTo(getBaseContext().getResources().getConfiguration());
overrideConfiguration.uiMode = uiMode;
}
super.applyOverrideConfiguration(overrideConfiguration);
}
完美解决
网友评论