【发布时间】:2020-02-08 02:57:39
【问题描述】:
我创建了体重指数应用程序,在该应用程序中,一些文字说,请输入您的身高等。
我使用Strings.xml 设置它,就我而言,我希望能够将请输入您的身高文本中的语言切换为另一种语言,有什么解决方案吗?
【问题讨论】:
-
检查我的答案。这是你需要的吗?
标签: java android string locale
我创建了体重指数应用程序,在该应用程序中,一些文字说,请输入您的身高等。
我使用Strings.xml 设置它,就我而言,我希望能够将请输入您的身高文本中的语言切换为另一种语言,有什么解决方案吗?
【问题讨论】:
标签: java android string locale
首先,为您需要的每个语言环境创建一个 Resources 对象。然后, 从本地化的 Resources 对象中获取字符串。
您可以编写如下方法:
@NonNull Resources getLocalizedResources(Context context, Locale myLocale) {
Configuration conf = context.getResources().getConfiguration();
conf = new Configuration(conf);
conf.setLocale(myLocale);
Context localizedContext = context.createConfigurationContext(conf);
return localizedContext.getResources();
}
你可以像这样调用方法:
Locale filipinoLocale = new Locale("fil");
Resources filipinoResource = getLocalizedResources(context, filipinoLocale);
Locale russianLocale = new Locale("ru");
Resources russianResource = getLocalizedResources(context, russianLocale);
Locale chineseLocale = new Locale("zh");
Resources chineseResource = getLocalizedResources(context, chineseLocale);
String filipinoString = filipinoResource.getString(R.string.mystring);
String russianString = russianResource.getString(R.string.mystring);
String chineseString = chineseResource.getString(R.string.mystring);
【讨论】: