我的根图
@Composable
fun RootNavigationGraph(navController: NavHostController) {
NavHost(
navController = navController,
startDestination = RootScreen.Welcome.route
) {
welcomeGraph(navController)
authGraph(navController)
composable(route = RootScreen.Main.route) {
MainScreen()
}
trackingGraph(navController)
}
}
字符串
我的主图
此为底部导航
@Composable
fun MainNavigationGraph(navController: NavHostController) {
NavHost(
navController = navController,
startDestination = RootScreen.Dashboard.route,
route = RootScreen.Main.route
) {
dashboardGraph(navController)
orderGraph(navController)
profileGraph(navController)
}
}
型
我的可组合视图
在dashboardGraph @Composable中 Package 的DashboardScreen中的代码是functionsCardList(items:List,navController:NavController){
LazyRow(horizontalArrangement = Arrangement.spacedBy(16.dp)) {
items(items) { menus ->
FeatureCardItemSingle(
item = menus,
onClick = {
Log.d("FeatureCardList", "Clicked item: ${menus.move_to}")
navController.navigate(RootScreen.Tracking.route)
}
)
}
}
}
型
2条答案
按热度按时间3zwjbxry1#
您需要使用嵌套导航图
字符串
然后在你的卡片中导航
型
6tdlim6h2#
导入必要的依赖:
字符串
在您的
FeatureCardList
composable中,您可以使用navController
参数导航到RootScreen.Tracking.route
。但是,由于您希望在导航图之间导航,因此您需要提供一种方法来访问FeatureCardList
中根导航图的NavHostController
。实现这一点的一种方法是让
RootNavigationGraph
可组合记住它的trackingGraph
的navController
。你可以将这个navController
作为参数传递给你的FeatureCardList
。下面是一个例子:型
RootScreen.Tracking.route
特定的主navController
创建了一个子navController
。现在,您可以使用此子navController
在根导航图的trackingGraph
中导航。*