在Kotlin撰写中导航到新页面



我需要帮助弄清楚,当我点击卡片时,它会把我带到一个全新的页面,上面写着"成功"。现在当我点击它的时候它显示成功但是在卡片的正上方。

@OptIn(ExperimentalFoundationApi::class)

@Composable(标题:字符串,url:字符串){

val navController = rememberNavController()
NavHost(navController = navController, startDestination = "MainScreen") {
    composable("MainScreen") {MainActivity() }
    composable("album") { testSwitch(title, url) }
}
    Card(
    shape = RoundedCornerShape(5.dp),
    elevation = 16.dp,
    modifier = Modifier
        .combinedClickable(
            onClick = {
                navController.navigate("album"){
                    popUpTo("album") { inclusive = true }
                }
            }
                    )
        .padding(start = 16.dp, end = 16.dp, top = 5.dp, bottom = 5.dp),
) {
        Row(
            verticalAlignment = Alignment.CenterVertically,
        ) {

            Column(Modifier.padding(8.dp)) {
                Text(
                    text = title,
                    style = MaterialTheme.typography.h4,
                    color = MaterialTheme.colors.onSurface,
                )
                Text(
                    text = url,
                    style = MaterialTheme.typography.body2,
                )
            }
        }
}

}

@OptIn(ExperimentalMaterialApi::class)

@ComposabletestSwitch(title: String, url: String) {

Text("Success")
}

输入图片描述

在文档中定义:

定义您的NavHost和各自的路由…

NavHost(navController = navController, startDestination = "profile") {
    composable("profile") { ProfileScreen(navController) }
    composable("friendslist") { FriendsListScreen(navController) }
}

如果您需要从ProfileScreen调用FriendsListScreen:

@Composable
fun ProfileScreen(navController: NavController) {
    /*...*/
    Button(onClick = { navController.navigate("friendslist") }) {
        Text(text = "Navigate next")
    }
    /*...*/
}

最新更新