Jetpack Compose 底部动作条

332 阅读1分钟

如果您要实现[底部动作条],可以使用 [ModalBottomSheet] 可组合项。

您可以使用 content 槽,该槽使用 [ColumnScope] 将工作表内容可组合项的布局设为一列:

您可以使用 [SheetState] 以程序化方式展开和收起工作表。您可以使用 [rememberSheetState] 创建一个 SheetState 实例,该实例应通过 sheetState 参数传递给 ModalBottomSheetSheetState 可用于访问 [show] 和 [hide] 函数,以及与当前工作表状态相关的属性。这些挂起函数需要 CoroutineScope(例如,使用 [rememberCoroutineScope]),并且可被调用以响应界面事件。请务必在隐藏底部动作条时从组合中移除 ModalBottomSheet

image.png

val sheetState = rememberModalBottomSheetState()
val scope = rememberCoroutineScope()
val showBottomSheet = remember { mutableStateOf(false) }

// 内容
if (showBottomSheet.value) {
    ModalBottomSheet(
        onDismissRequest = {
            showBottomSheet.value = false
        },
        sheetState = sheetState
    ) {
        // 底部弹出内容
        Button(modifier = Modifier.padding(all = 15.dp), onClick = {
            scope.launch { sheetState.hide() }.invokeOnCompletion {
                if (!sheetState.isVisible) {
                    showBottomSheet.value = false
                }
            }
        }) {
            Text("Hide bottom sheet")
        }
    }
}

上一篇 Jetpack Compose 进度条

下一篇 Jetpack Compose 快捷信息栏 SnackbarHost