Navegación 3

Navigation 3 es una biblioteca de navegación diseñada para funcionar con Compose. Con Navigation 3, tienes control total sobre la pila de actividades y navegas entre destinos agregando y quitando elementos de una lista. Crea un sistema de navegación flexible para la app, 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 en la pila de actividades (incluidas las animaciones)
  • Un permiso para los elementos de la pila de actividades, lo que permite que se conserve 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, lo que permite un cambio fluido entre esos diseños
  • Un mecanismo para que el contenido se comunique con su diseño de nivel superior (metadatos)
  • Comunicación entre destinos para devolver resultados entre pantallas

En términos generales, puedes implementar Navigation 3 de las siguientes maneras:

  1. 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 al contenido. Consulta Resuelve claves en contenido.
  2. Crea una pila de actividades en 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.
  3. 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 el contenido pertinente. Consulta Cómo mostrar la pila de actividades.
  4. Modifica las estrategias de escena de NavDisplay según sea necesario para admitir diseños adaptables y diferentes plataformas.
  5. Admite vínculos directos para navegar directamente a los destinos.

Puedes ver el código fuente completo de Navigation 3 en AOSP.

Mejoras en Navigation de Jetpack

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 pueden 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 la entrada de blog del anuncio.

Muestras de código

El repositorio de recetas contiene ejemplos de cómo usar los componentes básicos de Navigation 3 para resolver desafíos de navegación comunes.