android - Jetpack compose:BottomSheet 状态更改回调
问题描述
如何在 JetPack Compose BottomSheet 状态更改上实现回调/侦听器机制?
类似于:
@Override
public void onStateChanged(@NonNull View bottomSheet, int newState) {
if (newState == BottomSheetBehavior.STATE_COLLAPSED && mIsCollapsedFromBackPress){
}
}
@Override
public void onSlide(@NonNull View bottomSheet, float slideOffset) {
}
});
正如我们过去在 Java/Kotlin 中所做的那样。
现在,我将其作为 lambda 传递给另一个需要关闭底页的可组合对象。
val closeSheet: () -> Unit = {
scope.launch {
modalState.hide()
}
}
但我想得到底部表已完全折叠的回调,我可以继续我的任务。
我面临的实际问题: 我正在单击按钮将可组合转换为位图。按钮位于 BottomSheet 内部,需要转换的可组合项位于 BottomSheet 后面。因此,有时底页也会出现在位图中。我只想在底页完全折叠时触发该过程。
我在 SO 上找到了这个答案,但问题仍然是关于回调的。不知道如何使用它。
解决方案
推荐阅读
- r - Wilcoxon 循环测试
- docker - 如何在自动重启时检测 Docker 故障错误代码?
- html - 从本地文件显示 Iframe 中的 HTTPS 源
- mysql - 使用循环方法创建标签和条目
- javascript - 如何实现关系/嵌套的 observables?
- python-3.x - 如何从有向图实现 PyTorch NN
- unit-testing - 用 mock 编写好的单元测试的关键点是什么
- r - 如何在闪亮的仪表板中使用多个 slickROutput
- python - 将布尔值索引到 Pandas 列
- sql - BigQuery:按自定义维度、内容组和事件类别/操作划分的 GA 网页浏览和事件?