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 Touch-Gesten für den Startbildschirm oder schnelles Wechseln
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 häufig 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 der Nutzer bei einem Spiel in der Nähe des Touch-Gestenbereich für das Zuhause wischen muss, kann die App das Layout im immersiven Modus anfordern. 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.
Aktualisiere deine App, damit diese Touch-Geste „Zurück“ unterstützt wird
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 vorweggenommene Zurück-Geste hinzufügen.
Weitere Informationen
Weitere Informationen zur Gestennavigation finden Sie hier: