我想实现一个可以显示两个不同底部工作表的屏幕。由于ModalBottomSheetLayout只有一个片槽我决定改变sheetContent的ModalBottomSheetLayout动态使用selected状态时我要显示或者在两个片材(的全码)。
val sheetState = rememberModalBottomSheetState(initialValue = ModalBottomSheetValue.Hidden)
val (selected, setSelected) = remember(calculation = { mutableStateOf(0) })
ModalBottomSheetLayout(sheetState = sheetState, sheetContent = {
when (selected) {
0 -> Layout1()
1 -> Layout2()
}
}) {
Content(sheetState = sheetState, setSelected = setSelected)
}
Run Code Online (Sandbox Code Playgroud)
这适用于非常相似的工作表,但是一旦您向两个工作表布局中的任何一个添加更多复杂性,第一次按下按钮时工作表将不会显示,它只会在您按下按钮两次后显示可以在这里看到:
