如何更改应用程序的语言?

Hri*_*hik 10 android

在我的应用程序中,我可以选择语言.

有三种语言:英语,德语和西班牙语.当我选择一个选项时,应该更改整个应用程序语言.

我怎样才能做到这一点?

Kaj*_*Kaj 21

你的意思是你想使用另一种语言而不是手机中的默认语言吗?我在一个应用程序中有这个,这就是我必须要做的.

将其添加到您的活动声明中 AndroidManifest.xml

<activity
    android:name=".ui.SomeActivity"
    android:configChanges="locale"
    :
    :
</activity>
Run Code Online (Sandbox Code Playgroud)

然后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");
}
Run Code Online (Sandbox Code Playgroud)

  • 你从哪里得到SystemLocale和TAG? (2认同)