我在不同的屏幕上有一个浮动的动作按钮,使用脚手架喷气背包组合,我怎么知道当前屏幕点击了FAB来做某个动作。因为每个屏幕的动作都是不同的。
@OptIn(ExperimentalMaterial3Api::class)
@SuppressLint("UnusedMaterialScaffoldPaddingParameter")
@Composable
fun AppLayout(
bottomBar: @Composable () -> Unit = {},
content: @Composable () -> Unit = {}
) {
Scaffold(
modifier = Modifier,
bottomBar = { bottomBar() },
floatingActionButton = {
FloatingActionButton(
containerColor = appColors.primary,
shape = CircleShape,
onClick = {},
modifier = Modifier,
) {
Icon(Icons.Filled.Add, null,tint = Color.White)
}
}
) { safePadding ->
Box(
modifier = Modifier.padding(
bottom = safePadding.calculateBottomPadding()
)
) {
content()
}
}
}
1条答案
按热度按时间fkaflof61#
可以使用以下代码记录不同页面的
router
:切换到其他页面并更新
recordRouter
值。点击
FloatingActionButton
时,判断recordRouter属于哪个页面,然后触发相应的事件方法