以下代码来自官方示例项目。
有两个分支,main和end。
我发现代码主体和代码结尾使用不同的方式进行导航。
代码 main简单明了,在其他项目中,它基于 State 进行导航,就像来自项目的代码 A一样。
代码端用来导航,但是我们使用Jetpack Compose的时候NavHostController好像就不用再用了吧?Navigation
代码主要
@Composable
fun RallyApp() {
RallyTheme {
val allScreens = RallyScreen.values().toList()
var currentScreen by rememberSaveable { mutableStateOf(RallyScreen.Overview) }
Scaffold(
...
) { innerPadding ->
Box(Modifier.padding(innerPadding)) {
currentScreen.content(
onScreenChange = { screen ->
currentScreen = RallyScreen.valueOf(screen)
}
)
}
}
}
}
enum class RallyScreen(
val icon: ImageVector,
val body: @Composable ((String) -> Unit) …Run Code Online (Sandbox Code Playgroud)