Kompatibilität mit Bedienung über Gesten sicherstellen

Ab Android 10 (API-Level 29) unterstützt das Android-System die vollständige Navigation per Touch-Gesten. App-Entwickler müssen zwei Dinge tun, damit ihre Apps mit dieser Funktion kompatibel sind:

  • App-Inhalte von Rand zu Rand darstellen
  • Umgang mit in Konflikt stehenden App-Gesten

Außerdem wird mit Android 13 (API-Level 33) eine vorhersagende Zurück-Geste für Android-Geräte wie Smartphones, Geräte mit großen Displays und Foldables eingeführt, die Teil einer mehrjährigen Veröffentlichung ist. App-Entwickler können Maßnahmen ergreifen, damit ihre Apps die vorhersagende Zurück-Geste unterstützen.

Edge-to-Edge-App-Inhalte bereitstellen

Damit Sie den zusätzlichen Bildschirmbereich nutzen können, der durch die schwebende Navigationsleiste zur Verfügung gestellt wird, müssen Sie bestimmte Änderungen in Ihrer App konfigurieren.

Weitere Informationen finden Sie unter Inhalte in Ihrer App von Rand zu Rand anzeigen.

Umgang mit in Konflikt stehenden App-Gesten

Das Modell für die Gestensteuerung kann mit Gesten in Konflikt geraten, die zuvor von App-Entwicklern verwendet wurden. Möglicherweise müssen Sie die Benutzeroberfläche Ihrer App entsprechend anpassen.

Konflikte mit „Zurück“-Gesten

Die neue Systemgeste für „Zurück“ ist ein Wischen vom linken oder rechten Displayrand nach innen. Dies kann die App-Navigationselemente in diesen Bereichen beeinträchtigen. Damit die Elemente am linken und rechten Displayrand weiterhin funktionieren, können Sie die Zurück-Geste selektiv deaktivieren, indem Sie dem System mitteilen, welche Bereiche Touch-Eingaben empfangen müssen. Dazu können Sie einen List<Rect> an die View.setSystemGestureExclusionRects() API übergeben, die in Android 10 eingeführt wurde. Diese Methode ist ab androidx.core:core:1.1.0-dev01 auch in ViewCompat verfügbar.

Beispiel:

Kotlin

var exclusionRects = listOf(rect1, rect2, rect3)

fun onLayout(
        changedCanvas: Boolean, left: Int, top: Int, right: Int, bottom: Int) {
  // Update rect bounds and the exclusionRects list
  setSystemGestureExclusionRects(exclusionRects)
}

fun onDraw(canvas: Canvas) {
  // Update rect bounds and the exclusionRects list
  setSystemGestureExclusionRects(exclusionRects)
}

Java

List<Rect> exclusionRects;

public void onLayout(
        boolean changedCanvas, int left, int top, int right, int bottom) {
    // Update rect bounds and the exclusionRects list
    setSystemGestureExclusionRects(exclusionRects);
}

public void onDraw(Canvas canvas) {
    // Update rect bounds and the exclusionRects list
    setSystemGestureExclusionRects(exclusionRects);
}

Konflikte mit Gesten für „Zuhause“ oder „Schnellwechsel“

Die neuen Systemgesten für „Home“ und „Schnellwechsel“ umfassen beide Wischbewegungen am unteren Bildschirmrand, wo sich zuvor die Navigationsleiste befand. Apps können diese Touch-Gesten nicht deaktivieren, wie es bei der Zurück-Geste möglich ist.

Um dieses Problem zu beheben, wird in Android 10 die WindowInsets.getMandatorySystemGestureInsets() API eingeführt, die Apps über die Schwellenwerte für die Berührungserkennung informiert.

Spiele und andere Apps, die nicht View-Apps sind

Bei Spielen und anderen Apps ohne Ansichtshierarchie muss der Nutzer oft in der Nähe der Systemgestenbereiche wischen. In diesen Fällen können Spiele Window.setSystemGestureExclusionRects() verwenden, um Bereiche auszuschließen, die sich mit Bereichen überschneiden, die für Systemgesten reserviert sind. In Spielen dürfen diese Bereiche nur bei Bedarf ausgeschlossen werden, z. B. während des Spiels.

Wenn ein Spiel erfordert, dass der Nutzer in der Nähe des Bereichs für die Home-Geste wischt, kann die App anfordern, dass sie im Immersive-Modus dargestellt wird. Dadurch werden die Systemgesten deaktiviert, während der Nutzer mit dem Spiel interagiert. Der Nutzer kann die Systemgesten jedoch wieder aktivieren, indem er vom unteren Bildschirmrand nach oben wischt.

App aktualisieren, um die vorhersagende Zurück-Geste zu unterstützen

Mit Android 13 (API‑Level 33) wird eine vorhersagende Zurück-Geste für Android-Geräte wie Smartphones, Geräte mit großen Displays und faltbare Geräte eingeführt. Die vorhersagende Zurück-Geste ist Teil einer mehrjährigen Veröffentlichung. Wenn diese Funktion vollständig implementiert ist, können Nutzer eine Vorschau des Ziels oder eines anderen Ergebnisses einer „Zurück“-Geste sehen, bevor sie die Geste vollständig ausführen. So können sie entscheiden, ob sie fortfahren oder in der aktuellen Ansicht bleiben möchten.

Weitere Informationen finden Sie unter Unterstützung für die vorhersagende Zurück-Geste hinzufügen.

Zusätzliche Ressourcen

Weitere Informationen zur Gestensteuerung finden Sie hier:

Blogposts

Videos