Kompatibilität mit Bedienung über Gesten sicherstellen

Ab Android 10 (API-Level 29) unterstützt das Android-System die vollständig gestenbasierte Navigation. App-Entwickler müssen zwei Schritte ausführen, um sicherzustellen, dass ihre Apps mit dieser Funktion kompatibel sind:

  • App-Inhalte werden von Edge zu Edge erweitert.
  • Umgang mit in Konflikt stehenden App-Gesten.

Darüber hinaus führt Android 13 (API-Level 33) eine vorhergesagte Zurück-Geste für Android-Geräte wie Smartphones, große Bildschirme und faltbare Smartphones ein, die Teil eines mehrjährigen Release ist. App-Entwickler können Maßnahmen ergreifen, um sicherzustellen, dass ihre Apps die vorausschauende Zurück-Geste unterstützen.

Umfassende App-Inhalte bereitstellen

Damit Sie den zusätzlichen Platz auf dem Bildschirm nutzen können, der durch die unverankerte Navigationsleiste verfügbar ist, müssen Sie bestimmte Änderungen in Ihrer App konfigurieren.

Weitere Informationen finden Sie unter Inhalte in Apps randvoll anzeigen.

In Konflikt stehende 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 dies an der Benutzeroberfläche Ihrer Anwendung anpassen.

Konflikt mit Touch-Gesten „Zurück“

Die neue Systemgeste für „Zurück“ ist ein Wischen vom linken oder rechten Bildschirmrand nach innen. Dies könnte die App-Navigationselemente in diesen Bereichen beeinträchtigen. Damit die Elemente am linken und rechten Bildschirmrand weiterhin funktionieren, sollten Sie die Geste „Zurück“ selektiv deaktivieren. Dazu geben Sie dem System an, welche Bereiche per Berührung eine Eingabe erhalten sollen. Dazu kannst du eine List<Rect> an die View.setSystemGestureExclusionRects() API übergeben, die in Android 10 eingeführt wurde. Diese Methode ist auch in ViewCompat seit androidx.core:core:1.1.0-dev01 verfügbar.

Beispiele:

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 Touch-Gesten für das Zuhause oder den Schnellwechsel

Die neuen System-Touch-Gesten für den Startbildschirm und den Schnellwechsel umfassen Wischgesten am unteren Bildschirmrand in dem Bereich, der zuvor die Navigationsleiste eingenommen hat. Apps können diese Touch-Gesten nicht deaktivieren, wie es bei der Touch-Geste „Zurück“ der Fall 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 Nicht-Video-Apps

Bei Spielen und anderen Apps ohne Ansichtshierarchie müssen Nutzer häufig in der Nähe der Touch-Gesten des Systems wischen. In diesen Fällen können Spiele mit Window.setSystemGestureExclusionRects() Bereiche ausschließen, die sich mit Bereichen überschneiden, die für Systemgesten reserviert sind. Bei Spielen dürfen diese Bereiche nur dann ausgeschlossen werden, wenn dies erforderlich ist, z. B. während des Spiels.

Wenn der Nutzer bei einem Spiel in die Nähe des Touch-Gesten-Bereichs für das Startbildschirm wischen muss, kann die App darum bitten, sich im immersiven Modus anzuordnen. Dadurch werden die Systemgesten während der Interaktion des Nutzers mit dem Spiel deaktiviert. Durch Wischen vom unteren Bildschirmrand können sie jedoch wieder aktiviert werden.

Aktualisiere deine App, damit sie die vorausschauende „Zurück“-Touch-Geste unterstützt

Android 13 (API-Level 33) führt eine vorausschauende Zurück-Geste für Android-Geräte wie Smartphones, große Bildschirme und faltbare Smartphones ein. Die vorausschauende Hintergrundgeste ist Teil eines mehrjährigen Release. Wenn diese Funktion vollständig implementiert ist, können Nutzer eine Vorschau des Ziels oder eines anderen Ergebnisses einer „Zurück“-Touch-Geste anzeigen lassen, bevor sie vollständig abgeschlossen sind. 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 Bedienung über Gesten finden Sie hier:

Blogposts

Videos