【发布时间】:2019-03-28 13:34:23
【问题描述】:
我正在编写支持两种语言的应用程序,我正在使用 Change app Locale 更改语言,这里是我的代码:
Locale locale = new Locale("fa");
Locale.setDefault(locale);
Configuration configs = new Configuration();
configs.locale = locale;
getBaseContext().getResources().updateConfiguration(configs, getBaseContext().getResources().getDisplayMetrics());
还有
在清单中我设置了android:supportsRtl="true"
这些代码在许多设备中工作,但在某些设备中不工作。例如文本不是翻译而是方向改变。
测试设备:
- 三星 J5Pro 2018 (android = 7.1): 工作
- 像素 2 API 26:工作
- 三星 J7 2017(android = 7):工作
- Nexus 5 (android = 6):不工作
- 三星 Galaxy G531 (android
【问题讨论】:
-
它应该可以在 nexus 4 上运行,也可能你忘了打电话给
recreate() -
我有一个在第一次显示选择语言的活动,在用户选择一种语言后,应用程序将用户定向到 MainActivity。所以我不需要
recreate()@Basil Battikhi
标签: android locale multilingual