回答
您的意思是说您要使用手机中默认语言以外的其他语言吗?我在一个应用程序中有这个,这就是我必须做的。
在AndroidManifest.xml
<activity
android:name=".ui.SomeActivity"
android:configChanges="locale"
:
:
</activity>
添加到您的活动宣言,然后在活动从onCreate
调用这样的方法:
public static void setLanguage(Context context, String languageToLoad) {
Log.d(TAG, "setting language");
Locale locale = new Locale(languageToLoad); //e.g "sv"
Locale systemLocale = SystemLocale.getInstance().getCurrentLocale(context);
if (systemLocale != null && systemLocale.equals(locale)) {
Log.d(TAG, "Already correct language set");
return;
}
Locale.setDefault(locale);
android.content.res.Configuration config = new android.content.res.Configuration();
config.locale = locale;
context.getResources().updateConfiguration(config, context.getResources().getDisplayMetrics());
Log.d(TAG, "Language set");
}
因此,在完成以上两件事之后,我只需创建资源文件(R.String.Values.xml以获得特定语言支持),并根据应用程序设置我可以设置应用程序运行时的语言。对 ? – 2013-01-02 09:09:52
你从哪里得到SystemLocale和TAG? – Teysz 2013-06-23 02:18:41
我认为'Locale.getDefault()'应该用来代替'SystemLocale ....' – 2013-10-12 15:47:55
你只根据语言添加值的文件夹。例如,我添加了3种语言:英语,阿拉伯语和印地语。 在res
文件夹中创建values-ar
阿拉伯语和values-hi
对于印地语来保存应用程序中使用的所有字符串。 现在我有一个语言列表视图。因此,当用户点击其中一种语言时,应用程序的语言将会改变,手机语言将保持不变。 这里是代码..
listview.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// When clicked, show a toast with the TextView text
String language = ((TextView) view).getText().toString();
if (language.equals("English")) {
Locale locale = new Locale("en");
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
getBaseContext().getResources()
.updateConfiguration(
config,
getBaseContext().getResources()
.getDisplayMetrics());
Toast.makeText(ChangeLanguage.this, "Locale in English",
Toast.LENGTH_LONG).show();
} else if (language.equals("Arabic")) {
Locale locale = new Locale("ar");
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
getBaseContext().getResources()
.updateConfiguration(
config,
getBaseContext().getResources()
.getDisplayMetrics());
Toast.makeText(ChangeLanguage.this, "Locale in Arabic",
Toast.LENGTH_LONG).show();
}else if (language.equals("Hindi")) {
Locale locale = new Locale("hi");
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
getBaseContext().getResources()
.updateConfiguration(
config,
getBaseContext().getResources()
.getDisplayMetrics());
Toast.makeText(ChangeLanguage.this, "Locale in Hindi",
Toast.LENGTH_LONG).show();
} else {
Toast.makeText(ChangeLanguage.this,
"Locale in not changed!", Toast.LENGTH_LONG).show();
}
/*
* Toast.makeText(getApplicationContext(), language,
* Toast.LENGTH_SHORT) .show();
*/
GetterSetter.getInstance().setLanguage(changelanguage);
startActivity(new Intent(ChangeLanguage.this,
MainSettings.class));
main.tabhost.setCurrentTab(3);
}
});
你应该明确地干你的代码。 – JJD 2014-03-18 09:21:37
- 1. 更改Android应用程序的语言
- 2. 更改ios应用程序的语言
- 3. 作为设备语言更改更改应用程序语言
- 4. 我的Android应用程序更改默认语言为英语
- 5. Android - 更改应用程序本身的语言环境语言
- 6. 用户选择语言时如何更改应用程序的语言?
- 7. 当用户选择语言时如何更改应用程序的语言?
- 8. 我们如何在ASP.NET中更改我们的Web应用程序的语言?
- 9. 更改应用程序语言
- 10. 更改网络应用程序语言
- 11. 更改Android应用程序语言
- 12. 从应用程序更改语言?
- 13. 更改语言在应用程序
- 14. 在应用程序中更改语言
- 15. 更改我的wpf应用程序的语言
- 16. 更改应用程序的语言环境而不更改Windows语言环境
- 17. 如何更改ASP.NET中的应用程序语言?
- 18. Swift:如何更改应用程序内的语言?
- 19. 我可以更改android应用程序的语言吗?
- 20. 从我的应用程序中更改语言iphone
- 21. 在我的应用程序中更改设备语言
- 22. 如何以编程方式仅更改我的应用程序的语言和语言环境
- 23. 如何根据语言环境更改我的应用程序中的字体?
- 24. 如何更改我的git的语言?
- 25. Android如何在运行时更改应用程序语言
- 26. 在应用程序中更改语言 - 如何重新启动?
- 27. 如何实时更改应用程序语言?
- 28. 如何在运行时与appcelerator更改语言应用程序
- 29. 如何以编程方式更改应用程序语言无需重新启动我的应用程序?
- 30. 如何从Android的设备语言列表中更改我们自己的应用程序语言?
请看预览窗口,当你准备一个问题,不直接使用HTML标签,可以使用编辑器控件。你的问题文本根本没有显示。 – Mat 2011-06-04 10:01:28
感谢您帮助新人@Mat。 – DOK 2011-06-04 10:03:09