Fir*_*ger 9 android android-jetpack android-jetpack-compose
我正在使用Accompanist 的 BottomSheetNavigator在 Compose 应用程序中显示 BottomSheet。要求是禁用底部工作表之外的触摸事件,并且仅对按钮单击事件执行操作。没有类似的方法setCancelable(false)或setCanceledOnTouchOutside(false)在非 Compose 应用程序中使用的方法。
例如。在此图中,仅当用户单击“立即应用”按钮时才应执行操作,如果用户单击设备后退按钮或触摸底部表外部,则不应执行任何操作。有什么办法可以实现上述功能吗?
Gab*_*tti 34
使用 aModalBottomSheetLayout您可以指定sheetState参数。
里面ModalBottomSheetState有参数confirmStateChange。
调用可选回调来确认或否决待处理的状态更改。
你可以使用类似的东西:
val state = rememberModalBottomSheetState(
initialValue= ModalBottomSheetValue.Hidden,
confirmStateChange = {false})
Run Code Online (Sandbox Code Playgroud)
通过这种方式,您可以触摸 Bottomsheet 的外部,而无需关闭它。
在“立即申请”按钮中只需使用:
onClick = { scope.launch { state.hide() } }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5831 次 |
| 最近记录: |