有什麼方法通過改變應用程序的語言來改變手機的語言。通過更改Android中的應用程序語言更改默認手機語言?
我的意思是當我改變我的應用程序的語言,然後默認的手機語言也會改變。
對此有任何想法,請在此分享。
在此先感謝。
有什麼方法通過改變應用程序的語言來改變手機的語言。通過更改Android中的應用程序語言更改默認手機語言?
我的意思是當我改變我的應用程序的語言,然後默認的手機語言也會改變。
對此有任何想法,請在此分享。
在此先感謝。
Locale locale = new Locale("en_US");
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
context.getApplicationContext().getResources().updateConfiguration(config, null);
然後
,並在RES /值-ja表示日語或RES /值-AR阿拉伯語的文件夾..
而且使string.xml文件,並把語言不管你想在佈局
其資源的例子/值-AR爲arabic--
<?xml version="1.0" encoding="UTF-8"?>
<resources>
<string name="spinner_label">حسب</string>
<string name="app_name">فرق</string>
<string name="search">بحث:</string>
</resource>
我做NT知道,它可以通過編程的方式變了,但你改變了你的應用程序的語言後,您可以要求用戶更改設備的語言也
要求用戶更改設備語言
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.setClassName("com.android.settings", "com.android.settings.LanguageSettings");
startActivity(intent);
更改應用程序語言
<activity
android:name=".ui.SomeActivity"
android:configChanges="locale"
:
:
</activity>
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");
}
add android:configChanges =「locale」添加到您在AndroidManifect文件中的活動錯誤。
然後從該活動的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");
}
我想這是因爲這裏同樣的問題: http://stackoverflow.com/questions/9679574/android-is-there-any-way-to-change-the-default-語言的機器人到新琅 - – blacharnia