Saltar al contenido

¿Cómo manejar la navegación en Jetpack Compose?

Solución:

Aquí hay un enfoque no oficial de navegación en Jetpack Compose. Pruébelo hasta que reciba una palabra oficial de los desarrolladores de Android de Google.

componer-enrutador

https://github.com/zsoltk/compose-router

Se ha publicado una nueva biblioteca de Jetpack para la navegación de Compose. Todavía está en alfa.

En esta nueva biblioteca, ahora el usuario puede navegar entre diferentes componibles con características de componentes de navegación.

Utilizando navegación-componer:

dependencies {
    def nav_compose_version = "1.0.0-alpha01"
    implementation "androidx.navigation:navigation-compose:$nav_compose_version"
}

Ejemplo:

Paso 1: crear un NavController usando el rememberNavController() método en su componible: Enlace:

val navController = rememberNavController()

Paso 2: Creando el NavHost requiere el NavController creado previamente a través de rememberNavController() y la ruta del destino inicial de su gráfico: Enlace.

NavHost(navController, startDestination = "profile") {
    composable("profile") { Profile(...) }
    composable("friendslist") { FriendsList(...) }
    ...
}

Paso 3: Para navegar a un uso componible navigate():

fun Profile(navController: NavController) {
    ...
    Button(onClick = { navController.navigate("friends") }) {
        Text(text = "Navigate next")
    }
    ...
}

ver más https://developer.android.com/jetpack/compose/navigation

Parece que se están alejando de XML.

Las nuevas muestras oficiales publicadas después del lanzamiento de 1.0.0-alpha tienen un código compartido para administrar el backstack y la navegación. Este código aún no forma parte de la biblioteca.

https://github.com/android/compose-samples/blob/master/Owl/app/src/main/java/com/example/owl/ui/utils/Navigation.kt https://github.com/android /compose-samples/blob/master/Jetsnack/app/src/main/java/com/example/jetsnack/ui/utils/Navigation.kt

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *