Ab Android 10 (API-Level 29) unterstützt das Android-System die vollständig gestenbasierte Navigation. App-Entwickler müssen zwei Dinge tun, damit ihre Apps mit dieser Funktion kompatibel sind:
- App-Inhalte von Rand zu Rand erweitern
- Konflikte zwischen App-Gesten verarbeiten.
Außerdem wird in Android 13 (API-Level 33) eine intelligente „Zurück“-Touchgeste für Android-Geräte wie Smartphones, Geräte mit großen Displays und faltbare Geräte eingeführt, die Teil eines mehrjährigen Release ist. App-Entwickler können Maßnahmen ergreifen, um sicherzustellen, dass ihre Apps die intelligente „Zurück“-Touchgeste unterstützen.
App-Inhalte im randlosen Modus bereitstellen
Wenn Sie den zusätzlichen Platz auf dem Bildschirm nutzen möchten, der durch die unverankerte Navigationsleiste verfügbar wird, müssen Sie bestimmte Änderungen in Ihrer App konfigurieren.
Weitere Informationen finden Sie unter Inhalte in Ihrer App randlos anzeigen.
Umgang mit in Konflikt stehenden App-Gesten
Das Modell für die Bedienung über Gesten kann mit Gesten in Konflikt stehen, die zuvor von App-Entwicklern verwendet wurden. Möglicherweise müssen Sie die Benutzeroberfläche Ihrer App entsprechend anpassen.
Konflikte mit der Touchgeste „Zurück“
Die neue System-Geste 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. Damit die Elemente am linken und rechten Rand des Bildschirms weiterhin funktionieren, kannst du die „Zurück“-Geste selektiv deaktivieren. Dazu musst du dem System mitteilen, welche Bereiche Eingaben per Berührung empfangen sollen. Dazu kannst du ein List<Rect> an die in Android 10 eingeführte View.setSystemGestureExclusionRects() API übergeben. 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 den Startbildschirm oder den schnellen Wechsel
Die neuen System-Gesten für den Startbildschirm und den schnellen Wechsel umfassen beide Wischbewegungen am unteren Bildschirmrand, wo sich zuvor die Navigationsleiste befand. Apps können diese Gesten nicht deaktivieren, wie es bei der Zurück-Geste möglich ist.
Um dieses Problem zu beheben, wird in Android 10 die API WindowInsets.getMandatorySystemGestureInsets() eingeführt, die Apps über die Schwellenwerte für die Berührungserkennung informiert.
Spiele und andere Apps, die nicht auf View basieren
Bei Spielen und anderen Apps, die keine Ansichtshierarchie haben, müssen Nutzer oft in der Nähe der Bereiche für System-Gesten wischen. In diesen Fällen können Spiele Window.setSystemGestureExclusionRects() verwenden, um Bereiche auszuschließen, die sich mit Bereichen überschneiden, die für System-Gesten reserviert sind. In Spielen sollten diese Bereiche nur bei Bedarf ausgeschlossen werden, z. B. während des Gameplays.
Wenn ein Spiel erfordert, dass der Nutzer in der Nähe des Bereichs für die Startbildschirm-Geste wischt, kann die App im immersiven Modus angezeigt werden. Dadurch werden die System-Gesten deaktiviert, während der Nutzer mit dem Spiel interagiert. Der Nutzer kann die System-Gesten jedoch wieder aktivieren, indem er vom unteren Bildschirmrand nach oben wischt.
App aktualisieren, um die intelligente „Zurück“-Touchgeste zu unterstützen
In Android 13 (API‑Level 33) wird eine intelligente „Zurück“-Touchgeste für Android-Geräte wie Smartphones, Geräte mit großen Displays und faltbare Smartphones eingeführt. Die intelligente „Zurück“-Touchgeste 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“-Geste sehen, 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 intelligente „Zurück“-Touchgeste hinzufügen.
Zusätzliche Ressourcen
Weitere Informationen zur Bedienung über Gesten findest du hier: