Änderungen an der Konfiguration der abnehmbaren Tastatur verwalten

Das Android-System löst eine Konfigurationsänderung aus, wenn eine Tastatur an ein Gerät angeschlossen oder von einem Gerät getrennt wird. Damit Nutzer auf Geräten mit großen Bildschirmen und abnehmbaren Tastaturen eine optimale Nutzerfreundlichkeit haben und ihre Produktivität maximieren können, muss Ihre App Änderungen an der Tastaturkonfiguration effektiv verarbeiten.

Ergebnisse

Ihre App reagiert auf das Anbringen oder Entfernen einer externen Tastatur, ohne die laufende Aktivität neu zu erstellen.

Verhindern, dass Aktivitäten bei Tastaturänderung neu erstellt werden

Damit Ihre Aktivität nicht neu erstellt wird, wenn eine abnehmbare Tastatur angebracht oder entfernt wird, fügen Sie dem configChanges-Attribut Ihres App-Manifests tastaturbezogene Werte hinzu und fügen Sie der Ansichtshierarchie der Aktivität eine Ansicht hinzu, damit Ihre App auf Konfigurationsänderungen reagieren kann.

1. configChanges-Attribut deklarieren

Aktualisieren Sie das <activity>-Element im App-Manifest, indem Sie die keyboard|keyboardHidden-Werte der Liste der bereits verwalteten Konfigurationsänderungen hinzufügen:

<activity
    ...
    android:configChanges="...|keyboard|keyboardHidden">

2. Leere Ansicht zur Ansichtshierarchie hinzufügen

Deklarieren Sie eine neue Ansicht und fügen Sie den Handler-Code in die onConfigurationChanged()-Methode der Ansicht ein:

Kotlin

val v = object : View(this) {
    override fun onConfigurationChanged(newConfig: Configuration?) {
        super.onConfigurationChanged(newConfig)
        // Handler code here.
    }
}

Java

View v = new View(this) {
    @Override
    protected void onConfigurationChanged(Configuration newConfig) {
        super.onConfigurationChanged(newConfig);
        // Handler code here.
    }
};

Wichtige Fakten

  • android:configChanges: Attribute des <activity>-Elements des App-Manifests. Informiert das System über Konfigurationsänderungen, die von der App verwaltet werden.
  • View#onConfigurationChanged() : Methode, die auf die Weitergabe einer neuen App-Konfiguration reagiert.

Sammlungen, die diesen Leitfaden enthalten

Dieser Leitfaden ist Teil der folgenden Kurzanleitungen, die umfassendere Ziele der Android-Entwicklung abdecken:

Sorgen Sie dafür, dass Ihre App eine optimierte Nutzerfreundlichkeit auf Tablets, Foldables und ChromeOS-Geräten bietet.

Fragen oder Feedback

Auf der Seite mit den häufig gestellten Fragen finden Sie Kurzanleitungen. Sie können uns aber auch gern kontaktieren und uns Ihre Meinung mitteilen.