Jetpack Compose---> Navigation组件的基本使用

    1. 添加依赖

      implementation "androidx.navigation:navigation-compose:2.4.0-alpha06"
      
    2. 无参路由

      • NavController:

        val navController = rememberNavController()
        
      • NavHost

        NavGraphBuilder:它是NavHost的最后一个参数,可以使用尾随的lambda来创建路由.

        NavHost(
                navController = navController,
                startDestination = RallyScreen.Overview.name,
                modifier = Modifier
            ) { //this:NavGraphBuilder
                // TODO: 2021/9/3 3.定义nav graph
                composable("login") {
                    // 页面一
                }
                composable("register") {
                    // 页面二
                }
            }
        
    3. 使用参数的Navigation

      • 配置参数路由Composable

        composable(
           route = "$accountsName/{name}",
           arguments = listOf(
               navArgument("name") {
                    // 确保类型安全
                    type = NavType.StringType
               }
           )
        ) { entry ->
            // 从传递的参数中获取数据
            val accountName = entry.arguments?.getString("name")
        }
        
      • // 当我们调用以下语句时,就会调用上面的参数路由
        navController.navigate("login/username")
        
上一篇:Android Jetpack架构之LiveData


下一篇:Android Jetpack架构