在运行时选择string.xml

时间:2014-01-15 12:50:18

标签: android string resources

我有一个有多种语言的应用程序(fr,it,en,pt,es),我想在运行时选择使用哪种语言。

示例:

我来自美国,但我选择“发现”意大利。我希望我的应用程序使用来自资源“it”甚至的string.xml,如果我的手机默认语言为“en”。

我不想在运行时修改文件string.xml,我想使用另一个string.xml,不同于Android默认选择的。当然,我的手机应该保留在EN中 - 我只是想在某个时刻更换我的应用程序。

1 个答案:

答案 0 :(得分:0)

您可以使用以下内容为您的应用设置Locale,也许在您的活动的onCreate方法中:

Configuration configuration = resources.getConfiguration();
Locale esLocale = new Locale("es", "ES"); //Spanish
Locale.setDefault(locale);
configuration.locale = locale;
resources.updateConfiguration(configuration, resources.getDisplayMetrics());