navigation3

  
Navigation 3 es una nueva biblioteca de navegación diseñada para funcionar con Compose.
Actualización más reciente Versión estable Versión potencial Versión beta Versión alfa
2 de julio de 2025 - - - 1.0.0-alpha05

Cómo declarar dependencias

Para agregar una dependencia en navigation3, debes agregar el repositorio de Maven de Google a tu proyecto. Consulta el repositorio de Maven de Google para obtener más información.

Agrega las dependencias de los artefactos que necesites en el archivo build.gradle de tu app o módulo:

Groovy

dependencies {
    implementation "androidx.navigation3.navigation3-runtime:1.0.0-alpha05"
    implementation "androidx.navigation3.navigation3-ui:1.0.0-alpha05"
}

Kotlin

dependencies {
    implementation("androidx.navigation3.navigation3-runtime:1.0.0-alpha05")
    implementation("androidx.navigation3.navigation3-ui:1.0.0-alpha05")
}

Para obtener más información sobre las dependencias, consulta Cómo agregar dependencias de compilación.

Comentarios

Tus comentarios ayudan a mejorar Jetpack. Avísanos si descubres nuevos errores o tienes ideas para mejorar esta biblioteca. Consulta los errores existentes de esta biblioteca antes de crear uno nuevo. Puedes agregar tu voto a un error existente haciendo clic en el botón de la estrella.

Crear un error nuevo

Consulta la documentación sobre la Herramienta de seguimiento de errores para obtener más información.

No hay notas de la versión para este artefacto.

Versión 1.0

Versión 1.0.0-alpha05

2 de julio de 2025

Lanzamiento de androidx.navigation3:navigation3-*:1.0.0-alpha05. La versión 1.0.0-alpha05 contiene estas confirmaciones.

Cambios en el comportamiento

  • El estado de NavEntry ahora se basa estrictamente en la lista actual de decoradores que se pasan a NavDisplay. Esto significa que los decoradores se deben intercambiar a lo largo de las pilas de actividades en el caso de que haya varias pilas de actividades para conservar el estado de los NavEntries en la pila de actividades. De lo contrario, los estados se borrarán como si las entradas se hubieran quitado (en lugar de un intercambio). (I7a759, b/428033667)

Versión 1.0.0-alpha04

18 de junio de 2025

Lanzamiento de androidx.navigation3:navigation3-*:1.0.0-alpha04. La versión 1.0.0-alpha04 contiene estas confirmaciones.

Cambios en la API

  • NavEntry.content ahora es privado. Para invocar contenido de NavEntry, llama a la nueva API de NavEntry.Content(), que ya no requiere un parámetro key para invocar. (Icd0fd, b/420991203)
  • NavEntry.key ahora es un campo privado. El campo contentKey nuevo, que se genera a partir de la nueva lambda contentKeyFactory y tiene como valor predeterminado un hash que se puede guardar y que se genera a partir de NavEntry.key, debe identificar el NavEntry y sus estados pertinentes (I81a6c, b/422001357, b/420991203 I2d7d4, b/420991203, b/422841812).

Cambios de dependencia

  • Navigation3 ahora depende del nuevo artefacto androidx.navigationevent.compose.

Versión 1.0.0-alpha03

4 de junio de 2025

Lanzamiento de androidx.navigation3:navigation3-*:1.0.0-alpha03. La versión 1.0.0-alpha03 contiene estas confirmaciones.

Correcciones de errores

  • Navigation3 ya no borrará los estados del decorador para backStacks que se hayan intercambiado y reemplazado por otra instancia de backStack. (I28a42, b/415076044)

Versión 1.0.0-alpha02

23 de mayo de 2025

Lanzamiento de androidx.navigation3:navigation3-*:1.0.0-alpha02. La versión 1.0.0-alpha02 contiene estas confirmaciones.

Correcciones de errores

  • Se corrigió un problema con SavedStateNavEntryDecorator que causaba colisiones para diferentes clases de datos con los mismos valores de propiedad. (b/418070648, Iff4775)
  • Se corrigió un problema de falta de clase que provocaba fallas cuando se ejecutaba sin declarar dependencias explícitas. (b/419049149, I4b4ed)

Versión 1.0.0-alpha01

20 de mayo de 2025

Lanzamiento de androidx.navigation3:navigation3-*:1.0.0-alpha01. La versión 1.0.0-alpha01 contiene estas confirmaciones.

Nuevas funciones

Navigation3 es una nueva biblioteca de navegación creada específicamente para controlar la navegación dentro de la app de Jetpack Compose. El artefacto androidx.navigation3.runtime proporciona los componentes básicos, mientras que el artefacto androidx.navigation3.ui proporciona la capa de IU a través de la API de NavDisplay. Los desarrolladores pueden proporcionar su propio estado directamente a la función de componibilidad NavDisplay, que cambia el contenido según los cambios en el estado del desarrollador.

@Serialiable object Home : NavKey
@Serialiable object Chat : NavKey

val backStack = rememberNavBackStack(Home)

NavDisplay(backStack, entryProvider = entryProvider {
  entry<Home> {
    Column {
      Text(Home)
      Button(onClick = { backStack.add(Chat) } ) {
        Text(Go to Chat)
      } 
    }
  }
  entry<Chat> { /* My Composable Content */ }
})

Para obtener más información, consulta la guía de Navigation3.