Kompatibilität mit Bedienung über Gesten sicherstellen

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

  • App-Inhalte sollten von Rand zu Rand reichen.
  • Umgang mit in Konflikt stehenden App-Gesten

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

App-Inhalte von Rand zu Rand anzeigen

Wenn Sie den zusätzlichen Bildschirmbereich nutzen möchten, den die schwebende Navigationsleiste bietet, müssen Sie bestimmte Änderungen an Ihrer App vornehmen.

Weitere Informationen finden Sie unter Inhalte in Ihrer App randlos anzeigen.

Umgang mit sich überschneidenden App-Gesten

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

Konflikte mit Touch-Gesten „Zurück“

Die neue Systemgeste für „Zurück“ ist ein Wischen vom linken oder rechten Displayrand nach innen. Dies kann die Navigationselemente der App in diesen Bereichen beeinträchtigen. Wenn Sie die Funktionalität der Elemente am linken und rechten Displayrand beibehalten möchten, können Sie die Zurück-Geste selektiv deaktivieren, indem Sie dem System mitteilen, welche Bereiche Touch-Eingabe erfordern. Dazu übergeben Sie einen List<Rect> an die View.setSystemGestureExclusionRects() API, die in Android 10 eingeführt wurde. Diese Methode ist seit 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 die Startseite oder den Schnellwechsel

Die neuen Systemgesten für den Startbildschirm und den Schnellwechsel erfordern beides Wischen 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, über die Apps über die Touch-Erkennungsgrenzwerte informiert werden.

Spiele und andere Apps, die nicht zu Google Pixel Tablet View gehören

Bei Spielen und anderen Apps ohne Ansichtshierarchie müssen Nutzer oft in der Nähe der Bereiche für Systemgesten 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 müssen diese Bereiche nur bei Bedarf ausgeschlossen werden, z. B. während des Gameplays.

Wenn Nutzer in einem Spiel in der Nähe des Bereichs für die Startbildschirmgeste wischen müssen, kann die App anfordern, im Immersive Mode angeordnet zu werden. Dadurch werden die Systemgesten deaktiviert, während der Nutzer mit dem Spiel interagiert. Er kann sie jedoch durch Wischen von unten nach oben auf dem Display wieder aktivieren.

App für die Vorhersage der Zurück-Geste aktualisieren

Android 13 (API-Level 33) führt eine vorausschauende Geste zum Zurückgehen für Android-Geräte wie Smartphones, Geräte mit großen Displays und faltbare Geräte ein. Die Vorabgesten für Zurück sind Teil eines mehrjährigen Release. Wenn diese Funktion vollständig implementiert ist, können Nutzer sich eine Vorschau des Ziels oder eines anderen Ergebnisses einer Rückwärtsgeste ansehen, bevor sie sie 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 vorausschauende Zurück-Geste hinzufügen.

Weitere Informationen

Weitere Informationen zur Gestennavigation finden Sie hier:

Blogposts

Videos