Android lernen – Android App Sprachumschaltung Funktionen

Quelle: Internet
Autor: Benutzer

Etikett:

Funktion:

App-Nutzer stellen die app-Sprache entsprechend ihre Spracheinstellungen. Die Spracheinstellungen sind für diese app nur und behalten die bisherigen Start-Einstellungen beim nächsten Start die app.

Sprache zu aktualisieren:
public static void changeAppLanguage(Resources resources, String lanAtr) {        Configuration config = resources.getConfiguration();        DisplayMetrics dm = resources.getDisplayMetrics();        if (lanAtr.equals("ru_RU")) {            config.locale = new Locale("ru", "RU");        } else if (lanAtr.equals("en_US")) {            config.locale = Locale.ENGLISH;        } else if (lanAtr.equals("pt")) {            config.locale = new Locale("pt");        } else {            config.locale = Locale.getDefault();        }        resources.updateConfiguration(config, dm);    }
SharePreferences wird in der Sprache Einstellungen gespeichert:
Sharences sharedPreferences = getActivity().getSharedPrefeivity().getPackageName(), 0);sharedPreferences.edit().putString("language", lanAtr).commit();

Nachdem die Sprache aktualisiert wird, werden die Spracheinstellungen nicht für Aktivität wirksam, die bisher erschienen und ist immer noch lebendig. Sie können die Sprache im Zeit wirksam, indem Sie die entsprechende Aktivität neu starten lassen.

MainActivity ist die Aktivität it.addFlags (Intent.FLAG_ACTIVITY_CLEAR_TOP) Sie neu starten möchten. It.addFlags (Intent.FLAG_ACTIVITY_NEW_TASK); (GetActivity). StartActivity (it); }

HINWEIS:

  • Aus der Erfahrung Benutzersicht, die Spracheinstellungen Feature-Portal in den ersten paar Schichten der App platziert wird, wenn der Eingang zu tief, so dass Benutzer nicht schnell das Sprachenportal Einstellungen finden, und wenn Sie wollen, zu reden, die Anwendung neu starten, wird im Allgemeinen der Benutzerdatensatz Verhalten Betrieb mehr lästig sein.
  • Es gibt mehrere Möglichkeiten, um die entsprechende Aktivität neu starten:
    • Wenn ein Benutzer eine Spracheinstellung, die erfordert zu viele Hierarchien oder andere Verhaltensweisen, die die APP eingibt zu speichern, bevor Sie die Spracheinstellungen zu manipulieren will, das kann durch Rundfunk erfolgen (SendBroadcast ()), wechselt die Sprache, sowie für alle Aktivitäten erhalten die Sendung ( BroadcastReceivers) Neustart alle Operationen;
    • Wenn der Benutzer die Sprache festlegen, die app geht zurück auf das home-Verzeichnis, das viel einfacher ist, rufen Sie einfach die oben beschriebene Neustart ()-Methode.
SingleTask Aktion erneut zu starten: Wenn Ihre Start-Aktivität SingleTask und wird neu gestartet, wie oben, die Sprache noch nicht wirksam. Was ist mit dieser Situation? Es kann gelöst werden, durch Verständnis und die Nutzung seines Lebenszyklus, Aktivität ruft die Methode OnNewIntent (), wenn die Aktivität des Grundstücks SingleTask zurück geschnitten wird. Sie können die Methode überschreiben. Hier ein Workaround ist, sich selbst als erster durchs Ziel und dann auch selbst neu starten.

Absicht ich = neue Absicht (, MainActivity.class); StartActivity (i); OverridePendingTransition (0, 0); } Else {//Other Logik}}Fazit: APP-Sprache-Einstellungen sind nicht komplex, vor allem, wie Sprache setzen Einstellungen in einer fristgerechten Weise, mit Aktivität Neustart wirksam und so weiter übertragen.

Android lernen – Android App Sprachumschaltung Funktionen

Kontaktiere uns

Die Inhaltsquelle dieser Seite ist aus dem Internet, und vertritt nicht die Meinung von Alibaba Cloud; auf dieser Seite erwähnte Produkte und Dienstleistungen haben keine Beziehung zu Alibaba Cloud. Wenn der Inhalt der Seite Ihrer Meinung nach verwirrend ist, schreiben sie uns bitte eine E-Mail. Wir werden das Problem innerhalb von 5 Tagen nach Erhalt Ihrer E-Mail bearbeiten.

Wenn Sie Fälle von Plagiaten aus der Community feststellen, senden Sie bitte eine E-Mail an info-contact@alibabacloud.com und legen Sie entsprechende Beweise vor. Ein Mitarbeiter wird Sie innerhalb von 5 Werktagen kontaktieren.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.