我有一些像 Note3 这样的设备在纵向模式下设计的问题 当我将应用程序的语言更改为 RTL 时我同时支持 RTL 和 LTR 它工作正常但是当我用相机拍照时设备旋转并返回时对于应用程序,应用程序忽略定义的语言环境并使用英语的设备语言环境,应用程序的方向更改为 LTR 但使用 RTL 的字符串,直到您导航到另一个屏幕,所有应用程序都将变为 LTR,这仅在以下情况发生设备语言环境仅为英语。当设备区域设置为阿拉伯语时,这不会发生。这是我的语言环境代码
public class MvpApp extends Application {
AppDataManager dataManager;
private Locale locale = null;
private String language;
@Override
public void onCreate() {
super.onCreate();
Fresco.initialize(this);
final Fabric fabric = new Fabric.Builder(this)
.kits(new Crashlytics())
.debuggable(true)
.build();
Fabric.with(fabric);
AppPreferencesHelper preferencesHelper = new AppPreferencesHelper(getApplicationContext());
ApiModule apiModule = new ApiModule(getApplicationContext());
dataManager = new AppDataManager(getApplicationContext(),
preferencesHelper, apiModule.provideApiService());
String lang = dataManager.getLanguage();
if (lang == null)
language = "en";
else language = lang;
LocaleHelper.setLocale(getApplicationContext(),language);
}
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
if (locale != null) {
newConfig.locale = locale;
Locale.setDefault(locale);
newConfig.setLayoutDirection(locale);
getBaseContext().getResources().updateConfiguration(newConfig, getBaseContext().getResources().getDisplayMetrics());
}
}
public AppDataManager getDataManager() {
return dataManager;
}
慕桂英3389331
相关分类