Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
Navigation 3 es una nueva biblioteca de navegación diseñada para funcionar con Compose. Con Navigation 3, tienes control total sobre la pila de actividades, y navegar hacia y desde los destinos es tan simple como agregar y quitar elementos de una lista. Crea un sistema de navegación de apps flexible, ya que proporciona lo siguiente:
Convenciones para modelar una pila de actividades, en la que cada entrada de la pila representa el contenido al que navegó el usuario
Una IU que se actualiza automáticamente con los cambios de la pila de actividades (incluidas las animaciones)
Un alcance para los elementos de la pila de actividades, que permite que se retenga el estado mientras un elemento está en la pila de actividades
Un sistema de diseño adaptable que permite mostrar varios destinos al mismo tiempo y alternar sin problemas entre esos diseños
Un mecanismo para que el contenido se comunique con su diseño superior (metadatos)
En un nivel alto, puedes implementar Navigation 3 de las siguientes maneras:
Define el contenido al que los usuarios pueden navegar en tu app, cada uno con una clave única, y agrega una función para resolver esa clave en el contenido. Consulta Cómo resolver claves para el contenido.
Crea una pila de actividades a la que se envíen y quiten claves a medida que los usuarios naveguen por tu app. Consulta Cómo crear una pila de actividades.
Usa un NavDisplay para mostrar la pila de actividades de tu app. Cada vez que cambia la pila de actividades, se actualiza la IU para mostrar contenido relevante. Consulta Cómo mostrar la pila de actividades.
Modifica las estrategias de escenas de NavDisplay según sea necesario para admitir diseños adaptables y diferentes plataformas.
Navigation 3 mejora la API original de Jetpack Navigation de las siguientes maneras:
Proporciona una integración más simple con Compose.
Te ofrece control total de la pila de actividades.
Permite crear diseños que puedan leer más de un destino de la pila de actividades al mismo tiempo, lo que les permite adaptarse a los cambios en el tamaño de la ventana y otras entradas.
Obtén más información sobre los principios de Navigation 3 y las opciones de diseño de la API en esta entrada de blog.
Muestras de código
El repositorio de recetas contiene ejemplos de cómo usar los bloques de construcción de Navigation 3 para resolver desafíos de navegación comunes.
El contenido y las muestras de código que aparecen en esta página están sujetas a las licencias que se describen en la Licencia de Contenido. Java y OpenJDK son marcas registradas de Oracle o sus afiliados.
Última actualización: 2025-07-27 (UTC)
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Falta la información que necesito","missingTheInformationINeed","thumb-down"],["Muy complicado o demasiados pasos","tooComplicatedTooManySteps","thumb-down"],["Desactualizado","outOfDate","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Problema con las muestras o los códigos","samplesCodeIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 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."]]