小编Ван*_*зюк的帖子

如何更改支架浮动操作按钮在不同屏幕上的操作。Jetpack 组合

如何根据 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()
                    }
                }
            }
Run Code Online (Sandbox Code Playgroud)

例如,使用 ScreenOne() 我想向数据库添加一些实体,使用 ScreenTwo() 我想保存编辑后的实体。所有这些都使用 Scaffold 共享的相同 FAB。

更新:刚刚明白我还需要提到我还需要 FAB 来了解一些数据来操作。例如,我想通过单击 FAB 将一些实体保存到数据库,因此 FAB 需要了解该实体。

示例:我单击列表中的某个项目。它打开一些实体的导航方向。我正在修改此实体并单击 FAB 来保存编辑后的实体。

android android-jetpack-compose android-jetpack-compose-scaffold

6
推荐指数
1
解决办法
1945
查看次数