如何根据当前屏幕使用 Scaffold 更改 FAB 操作(onClick{})。
Scaffold(
floatingActionButton = {
FloatingActionButton(onClick = {
//Different actions here depending on current screen
}) { }
}
) {
NavHost(
navController = navController,
startDestination = "route1"
) {
composable(
route = "route1"
) {
ScreenOne()
}
composable(
route = "route2"
) {
ScreenTwo()
}
}
}
例如,使用 ScreenOne() 我想将一些实体添加到数据库中,而使用 ScreenTwo() 我想保存已编辑的实体。所有这一切都使用 Scaffold 共享的相同 FAB。
更新:刚刚明白我还需要提到我还需要 FAB 知道一些数据才能操作。例如,我想通过单击 FAB 将某些实体保存到数据库,因此 FAB 需要了解该实体。
示例:我正在单击列表中的某个项目。它用一些实体打开一些导航方向。我正在修改此实体并单击 FAB 以保存已编辑的实体。