Jetpack 撰写隐藏在底板后面的小吃栏

问题描述 投票:0回答:1

我在 Scaffold 中显示了一个 SnackBar,如下所示:

val scaffoldState = rememberScaffoldState()

LaunchedEffect(offerViewModel.onAddToCartError) {
    offerViewModel.onAddToCartError = {
        coroutineScope.launch {
            scaffoldState.snackbarHostState.showSnackbar(
                message = message
            )
        }
    }
}
Scaffold(
    Modifier.nestedScroll(nestedScrollConnection),
    scaffoldState = scaffoldState,
    snackbarHost = {
        SnackbarHost(it) { data ->
            ErrorSnackBar(
                message = data.message,
                fontSize = 16.sp
            )
        }
    }) { paddingValues ->
    Box(
        modifier = Modifier
            .padding(paddingValues)
            .fillMaxSize()
    ) {
        //content
        // full screen ModalBottomSheet
        if (showBottomSheet) {
            ModalBottomSheet(
                modifier = modifier,
                windowInsets = WindowInsets(
                    bottom = bottomInsets.getBottom(density).pxToDp().dp,
                    top = topInsets.getTop(density).pxToDp().dp
                )
            ){...}
        }
    }
}

但是如果显示 ModalBottomSheet,它会覆盖我的 SnackBar。如何在屏幕上的所有内容(包括底部工作表)上显示 SnackBar?

android android-jetpack-compose bottom-sheet android-snackbar
1个回答
0
投票

您需要使用

BottomSheetScaffold

© www.soinside.com 2019 - 2024. All rights reserved.