Android-Skills
Auf GitHub ansehenJetpack Navigation 3
android skills add navigation-3Navigation 3 ist eine neue Navigationsbibliothek, die für die Verwendung mit Compose entwickelt wurde. Mit Navigation 3 haben Sie die vollständige Kontrolle über den Back-Stack. Sie können zu Zielen navigieren und von Zielen wegnavigieren, indem Sie Elemente aus einer Liste hinzufügen und entfernen. Es bietet ein flexibles App-Navigationssystem mit folgenden Funktionen:
- Konventionen zum Modellieren eines Back-Stacks, wobei jeder Eintrag im Back-Stack Inhalte darstellt, zu denen der Nutzer navigiert hat
- Eine Benutzeroberfläche, die bei Änderungen am Back-Stack automatisch aktualisiert wird (einschließlich Animationen)
- Ein Bereich für Elemente im Back-Stack, sodass der Status beibehalten werden kann, während sich ein Element im Back-Stack befindet
- Ein adaptives Layoutsystem, mit dem mehrere Ziele gleichzeitig angezeigt werden können und ein nahtloser Wechsel zwischen diesen Layouts möglich ist
- Ein Mechanismus, mit dem Inhalte mit dem übergeordneten Layout kommunizieren können (Metadaten)
Im Allgemeinen implementieren Sie Navigation 3 so:
- Definieren Sie die Inhalte, zu denen Nutzer in Ihrer App navigieren können. Jeder Inhalt hat einen eindeutigen Schlüssel. Fügen Sie eine Funktion hinzu, um diesen Schlüssel in den Inhalt aufzulösen. Weitere Informationen finden Sie unter Schlüssel in Inhalte auflösen.
- Erstellen Sie einen Back-Stack, in den Schlüssel eingefügt und aus dem entfernt werden, wenn Nutzer in Ihrer App navigieren. Weitere Informationen finden Sie unter Back-Stack erstellen.
- Verwenden Sie ein
NavDisplay, um den Back-Stack Ihrer App anzuzeigen. Bei Änderungen am Back-Stack wird die Benutzeroberfläche aktualisiert, um relevante Inhalte anzuzeigen. Weitere Informationen finden Sie unter Back-Stack anzeigen. - Ändern Sie die Szenenstrategien von
NavDisplay's nach Bedarf, um adaptive Layouts und verschiedene Plattformen zu unterstützen. - Unterstützen Sie Deeplinks, um direkt zu Zielen zu navigieren.
Den vollständigen Quellcode für Navigation 3 finden Sie auf AOSP.
Verbesserungen gegenüber Jetpack Navigation
Navigation 3 bietet folgende Verbesserungen gegenüber der ursprünglichen Jetpack Navigation API:
- Einfachere Integration mit Compose
- Vollständige Kontrolle über den Back-Stack
- Layouts können gleichzeitig mehr als ein Ziel aus dem Back-Stack lesen und sich so an Änderungen der Fenstergröße und andere Eingaben anpassen.
Weitere Informationen zu den Prinzipien und API-Designentscheidungen von Navigation 3 finden Sie im Ankündigungsblogpost.
Codebeispiele
Das Repository mit Rezepten enthält Beispiele für die Verwendung der Bausteine von Navigation 3 zur Lösung häufiger Navigationsprobleme.