android-以编程方式更改语言和国家/地区
我正在开发一个应用程序,允许用户更改应用程序设置中的语言。但只要一些国家有两种或更多的语言,并且一些语言在不止一个国家使用,我就需要使用xx-xx格式。 例如,来自比利时的用户可以选择法语或荷兰语 我使用下一个代码段来更改语言:android-以编程方式更改语言和国家/地区,android,runtime,locale,region,Android,Runtime,Locale,Region,我正在开发一个应用程序,允许用户更改应用程序设置中的语言。但只要一些国家有两种或更多的语言,并且一些语言在不止一个国家使用,我就需要使用xx-xx格式。 例如,来自比利时的用户可以选择法语或荷兰语 我使用下一个代码段来更改语言: protected void setLocale() { Resources res = getResources(); DisplayMetrics dm = res.getDisplayMetrics(); Configuration con
protected void setLocale() {
Resources res = getResources();
DisplayMetrics dm = res.getDisplayMetrics();
Configuration conf = res.getConfiguration();
Locale locale = new Locale(dataManager.getLocale().toLowerCase());
Locale.setDefault(locale);
conf.locale = locale;
res.updateConfiguration(conf, dm);
}
dataManager.getLocale()
返回类似“fr BE”或“nl BE”的字符串
我有以下资源文件:
值fr/strings.xml
值fr rBE/strings.xml
值nl/strings.xml
values nl rBE/strings.xml
但即使我将locale设置为nl-BE
,它也会使用values-nl
目录中的字符串,而不是values-nl-rBE
中的字符串
因此,我的问题是:“如何使我的应用程序在运行时使用特定语言和地区的资源?”您应该在Locale
构造函数的第二个参数中指定国家
构造一个新的区域设置
使用指定的语言和国家代码
例如:
Locale locale = new Locale("nl", "BE");
您应该在Locale
构造函数的第二个参数中指定国家/地区
构造一个新的区域设置
使用指定的语言和国家代码
例如:
Locale locale = new Locale("nl", "BE");
您应该在Locale
构造函数的第二个参数中指定国家/地区
构造一个新的区域设置
使用指定的语言和国家代码
例如:
Locale locale = new Locale("nl", "BE");
您应该在Locale
构造函数的第二个参数中指定国家/地区
构造一个新的区域设置
使用指定的语言和国家代码
例如:
Locale locale = new Locale("nl", "BE");
您是否知道应用程序区域设置会根据设备区域设置自动选择。@Rahultwari我知道,但我的每个活动都会调用onResume()中的setLocale()
方法。它可以工作,它使用字符串作为正确的语言,但不使用有关区域的信息。您是否知道应用程序区域设置会根据设备区域设置自动选择。@Rahultwari我知道,但我的每个活动都会调用onResume()中的setLocale()
方法。它可以工作,它使用字符串作为正确的语言,但不使用有关区域的信息。您是否知道应用程序区域设置会根据设备区域设置自动选择。@Rahultwari我知道,但我的每个活动都会调用onResume()中的setLocale()
方法。它可以工作,它使用字符串作为正确的语言,但不使用有关区域的信息。您是否知道应用程序区域设置会根据设备区域设置自动选择。@Rahultwari我知道,但我的每个活动都会调用onResume()中的setLocale()
方法。它可以工作,它使用字符串作为正确的语言,但它不使用有关区域的信息。