回答
您的意思是說您要使用手機中默認語言以外的其他語言嗎?我在一個應用程序中有這個,這就是我必須做的。
在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