Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Navigation 3 ist eine neue Navigationsbibliothek, die für die Verwendung mit Compose entwickelt wurde. Mit Navigation 3 haben Sie die volle Kontrolle über den Backstack. Das Wechseln zwischen Zielen ist so einfach wie das Hinzufügen und Entfernen von Elementen aus einer Liste. Es bietet ein flexibles App-Navigationssystem mit folgenden Funktionen:
Konventionen für die Modellierung eines Backstacks, bei dem jeder Eintrag im Backstack Inhalte darstellt, zu denen der Nutzer navigiert ist
Eine Benutzeroberfläche, die sich bei Änderungen des Backstacks automatisch aktualisiert (einschließlich Animationen)
Ein Bereich für Elemente im Backstack, der es ermöglicht, den Status beizubehalten, während sich ein Element im Backstack befindet
Ein adaptives Layoutsystem, mit dem mehrere Ziele gleichzeitig angezeigt und nahtlos zwischen diesen Layouts gewechselt werden kann
Ein Mechanismus, mit dem Inhalte mit dem übergeordneten Layout kommunizieren können (Metadaten)
Auf übergeordneter Ebene können Sie Navigation 3 auf folgende Weise implementieren:
Definieren Sie die Inhalte, zu denen Nutzer in Ihrer App wechseln können, und geben Sie für jeden Inhalt einen eindeutigen Schlüssel an. Fügen Sie dann eine Funktion hinzu, um diesen Schlüssel auf die Inhalte anzuwenden. Weitere Informationen finden Sie unter Schlüssel zu Inhalten verknüpfen.
Erstellen Sie einen Backstack, in den Schlüssel eingefügt und entfernt werden, während Nutzer durch Ihre App navigieren. Weitere Informationen finden Sie unter Backstack erstellen.
Verwenden Sie ein NavDisplay, um den Backstack Ihrer App anzuzeigen. Jedes Mal, wenn sich der Backstack ändert, wird die Benutzeroberfläche aktualisiert, um relevante Inhalte anzuzeigen. Weitere Informationen finden Sie unter Backstack anzeigen.
Ändern Sie die Szenenstrategien von NavDisplay nach Bedarf, um adaptive Layouts und verschiedene Plattformen zu unterstützen.
Navigation 3 bietet gegenüber der ursprünglichen Jetpack Navigation API folgende Vorteile:
Vereinfachte Integration mit Compose
Bietet Ihnen die vollständige Kontrolle über den Backstack
Ermöglicht das Erstellen von Layouts, die gleichzeitig mehrere Ziele aus dem Backstack lesen können, sodass sie sich an Änderungen der Fenstergröße und anderer Eingaben anpassen können.
Weitere Informationen zu den Prinzipien von Navigation 3 und den Optionen für das API-Design finden Sie in diesem Blogpost.
Codebeispiele
Das Rezepte-Repository enthält Beispiele dafür, wie Sie die Navigation 3-Bausteine verwenden können, um gängige Navigationsprobleme zu lösen.
Alle Inhalte und Codebeispiele auf dieser Seite unterliegen den Lizenzen wie im Abschnitt Inhaltslizenz beschrieben. Java und OpenJDK sind Marken oder eingetragene Marken von Oracle und/oder seinen Tochtergesellschaften.
Zuletzt aktualisiert: 2025-07-27 (UTC).
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Benötigte Informationen nicht gefunden","missingTheInformationINeed","thumb-down"],["Zu umständlich/zu viele Schritte","tooComplicatedTooManySteps","thumb-down"],["Nicht mehr aktuell","outOfDate","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Problem mit Beispielen/Code","samplesCodeIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 2025-07-27 (UTC)."],[],[],null,["# Navigation 3\n\n| **Experimental:** Navigation 3 is in alpha. The APIs may change in the future. Please file bugs and feedback using the [issue tracker](https://issuetracker.google.com/issues/new?component=1750212&template=2102223).\n\nNavigation 3 is a new navigation library designed to work with Compose. With\nNavigation 3, you have full control over your back stack, and navigating to and\nfrom destinations is as simple as adding and removing items from a list. It\ncreates a flexible app navigation system by providing:\n\n- Conventions for modeling a back stack, where each entry on the back stack represents content that the user has navigated to\n- A UI that automatically updates with back stack changes (including animations)\n- A scope for items in the back stack, allowing state to be retained while an item is in the back stack\n- An adaptive layout system that allows multiple destinations to be displayed at the same time, and allowing seamless switching between those layouts\n- A mechanism for content to communicate with its parent layout (metadata)\n\nAt a high level, you implement Navigation 3 in the following ways:\n\n1. Define the content that users can navigate to in your app, each with a unique key, and add a function to resolve that key to the content. See [Resolve keys\n to content](/guide/navigation/navigation-3/basics#resolve-keys).\n2. Create a back stack that keys are pushed onto and removed as users navigate your app. See [Create a back stack](/guide/navigation/navigation-3/basics#create-back).\n3. Use a [`NavDisplay`](/reference/kotlin/androidx/navigation3/ui/package-summary#NavDisplay(kotlin.collections.List,androidx.compose.ui.Modifier,androidx.compose.ui.Alignment,kotlin.Function1,kotlin.collections.List,androidx.navigation3.ui.SceneStrategy,androidx.compose.animation.SizeTransform,kotlin.Function1,kotlin.Function1,kotlin.Function1,kotlin.Function1)) to display your app's back stack. Whenever the back stack changes, it updates the UI to display relevant content. See [Display\n the back stack](/guide/navigation/navigation-3/basics#display-back).\n4. Modify `NavDisplay`'s [scene strategies](/guide/navigation/navigation-3/custom-layouts) as needed to support adaptive layouts and different platforms.\n\nYou can see the [full source code](https://cs.android.com/androidx/platform/frameworks/support/+/androidx-main:navigation3/) for Navigation 3 on AOSP.\n\nImprovements upon Jetpack Navigation\n------------------------------------\n\nNavigation 3 improves upon the original Jetpack Navigation API in the following\nways:\n\n- Provides a simpler integration with Compose\n- Offers you full control of the back stack\n- Makes it possible to create layouts that can read more than one destination from the back stack at the same time, allowing them to adapt to changes in window size and other inputs.\n\nRead more about Navigation 3's principles and API design choices in [this blog\npost](https://android-developers.googleblog.com/2025/05/announcing-jetpack-navigation-3-for-compose.html).\n\nCode samples\n------------\n\nThe [recipes repository](https://github.com/android/nav3-recipes) contains examples of how to use the\nNavigation 3 building blocks to solve common navigation challenges."]]