gpt4 book ai didi

android - JetPack Compose 禁用 BottomSheet 外部触摸

转载 作者:行者123 更新时间:2023-12-05 00:09:21 44 4
gpt4 key购买 nike

我正在使用 Accompanist's BottomSheetNavigator在 Compose 应用程序中显示 BottomSheet。要求是禁用底部工作表之外的触摸事件,并且仅对按钮单击事件执行操作。没有像 setCancelable(false) 这样的方法或 setCanceledOnTouchOutside(false)在非 Compose 应用程序中使用。
例如。
this图像,只有当用户点击“立即应用”按钮时才应该采取行动,如果用户点击设备后退按钮或如果用户触摸底部表之外,则不应采取任何行动。有什么办法可以实现上述功能?

最佳答案

使用 ModalBottomSheetLayout您可以指定 sheetState范围。
ModalBottomSheetState有参数 confirmStateChange .

Optional callback invoked to confirm or veto a pending state change.


你可以使用类似的东西:
val state = rememberModalBottomSheetState(
initialValue= ModalBottomSheetValue.Hidden,
confirmStateChange = {false})
通过这种方式,您可以在不关闭底片的情况下触摸它的外部。
在“立即应用”按钮中,只需使用:
onClick = { scope.launch { state.hide() } }

关于android - JetPack Compose 禁用 BottomSheet 外部触摸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68809132/

44 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com