使用 Jetpack Compose 导航屏幕

问题描述 投票:0回答:1

我正在 Jetpack 中开发一款应用程序,我想从一个撰写屏幕移动到另一个撰写屏幕。我有一个登录撰写,我希望每当单击登录撰写中的按钮即可转到下一个撰写。我也将数据存储在视图模型中,有人可以帮忙吗?

enter image description here

enter image description here

enter image description here

enter image description here

kotlin android-jetpack-compose android-jetpack android-jetpack-navigation
1个回答
0
投票

您可以像下面的示例一样设置您的应用程序导航

@Composable
fun AppNavigation() {
val navController = rememberNavController()

NavHost(navController, startDestination = "login") {
    composable("login") {
        LoginScreen(
            viewModel = viewModel,
            onLoginClicked = {
                // Navigate to the next screen
                navController.navigate("nextScreen")
            }
        )
    }
    composable("nextScreen") {
        NextScreen()
    }
  }
}

然后在您的主要活动中,您可以在设置内容中调用您的应用程序导航,如下所示

class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContent {
        AppNavigation()
    }
  }
}
  1. 你可以使用像我经常使用的这样的导航库dcompose-navigation

它使您可以轻松地在代码中可点击的任何位置使用如下所示的函数。

fun navigateToExample(navController: NavController) {
  val data = // Your optional data
  navigateTo(navController, "key", "destinationRoute", data)
}
© www.soinside.com 2019 - 2024. All rights reserved.