La navegación se refiere a las interacciones que permiten a los usuarios navegar a través, dentro y fuera de las diferentes piezas de contenido de tu app. El componente Navigation de Android Jetpack te permite implementar la navegación, desde simples clics de botones hasta patrones más complejos, como las barras de apps y los paneles laterales de navegación. El componente Navigation también garantiza una experiencia del usuario coherente y predecible, ya que se adhiere a un sistema establecido de conjunto de principios.
El componente Navigation consta de tres partes clave que se describen a continuación:
- Gráfico de navegación: Es un recurso XML que contiene toda la información relacionada con la navegación en una ubicación centralizada. Esto incluye todas las áreas de contenido individuales dentro de tu app, llamadas destinos, así como las posibles rutas que un usuario puede tomar a través de tu app.
NavHost
: Es un contenedor vacío que muestra los destinos de tu gráfico de navegación. El componente Navigation contiene una implementaciónNavHost
predeterminada,NavHostFragment
, que muestra destinos de fragmentos.NavController
: Es un objeto que administra la navegación de la app dentro de unNavHost
.NavController
orquesta el intercambio de contenido de destino en el objetoNavHost
a medida que los usuarios se mueven a través de tu app.
Mientras navegas por tu app, le dices a NavController
que quieres navegar por una ruta específica de tu gráfico de navegación o directamente a un destino específico. Luego, NavController
muestra el destino apropiado en NavHost
.
El componente Navigation ofrece algunas otras ventajas, entre las que se incluyen las siguientes:
- Administrar transacciones de fragmentos
- Administrar correctamente las acciones predeterminadas Arriba y Atrás
- Proporcionar recursos estandarizados para animaciones y transiciones
- Implementar y administrar vínculos directos
- Incluir patrones de IU de Navigation, como paneles laterales de navegación y navegación inferior, con un mínimo de esfuerzo adicional
- Safe Args, un complemento de Gradle que proporciona seguridad de tipo al navegar y pasar datos entre destinos
- Compatibilidad con
ViewModel
, que te permite incluir unViewModel
en un gráfico de navegación para compartir datos relacionados con la IU entre los destinos del gráfico
Además, puedes utilizar Navigation Editor de Android Studio para ver y editar tus gráficos de navegación.
Próximos pasos
Para consultar más documentación y recursos relacionados con el componente Navigation, accede a los siguientes vínculos.
Primeros pasos
Más temas
- Principios de Navigation
- Diseño para diferentes factores de forma
- Navegación por gestos
- Cómo diseñar gráficos de navegación
- Gráficos anidados
- Acciones globales
- Navegación condicional
- Cómo pasar datos entre destinos
- Cómo crear vínculos directos para un destino
- Cómo animar transiciones entre destinos
- Cómo actualizar componentes de la IU con NavigationUI
- Cómo crear vistas deslizantes con pestañas
- Cómo interactuar de forma programática con el componente de navegación
- Cómo probar la navegación
- Cómo agregar nuevos tipos de destino
- Cómo brindar navegación de retroceso personalizada
- Cómo migrar al componente Navigation