我正在开发一个应用程序,使用三种语言的文本。英语、库尔德语和阿拉伯语。我试图在用户更改语言时动态更改布局。我有一个设置屏幕,用户可以更改语言,但是这并不是从系统设置中更改语言,而是从我的应用程序中更改。例如,如果我从库尔德语切换到英语或反之,则布局应更改为RTL到LTR。我尝试使用onConfigurationChanged(),但它没有被触发。
在Changing locale: Force activity to reload resources?中找到了答案。
我尝试过以下方法,但都没有成功:
任何帮助都将不胜感激。提前致谢。 编辑:我也尝试在onResume()中重新启动活动,但只得到一个黑屏。再次感谢。
在Changing locale: Force activity to reload resources?中找到了答案。
我尝试过以下方法,但都没有成功:
- Android: locale(system Language) change effect my application layouts
- Android Localization problem: Not all items in the layout update properly when switching locales
- Trying to change Android Locale on the fly
- http://www.c-sharpcorner.com/UploadFile/1e5156/how-to-change-locale-of-an-application-dynamically-in-androi/
@Override
protected void onResume() {
getResources().updateConfiguration(LocaleSingleton.getInstance().getConfig(), getResources().getDisplayMetrics());
AsyncData data = new AsyncData();
data.execute(String.valueOf(id), Constants.SERVER + "ad_detail.php");
super.onResume();
}
任何帮助都将不胜感激。提前致谢。 编辑:我也尝试在onResume()中重新启动活动,但只得到一个黑屏。再次感谢。