showBottomSheet 如何监听背景被点击 ?
时间: 2024-01-25 18:02:02 浏览: 172
如果您使用的是 Scaffold 的 bottomSheet 属性或 showModalBottomSheet 函数显示 BottomSheet ,则可以通过以下方法监听背景被点击:
1. 使用 Scaffold 的 bottomSheet 属性时,将其设置为一个 WidgetBuilder 函数,该函数返回一个 GestureDetector ,并将 onTapDown 回调传递给 GestureDetector 。
例如:
```
Scaffold(
bottomSheet: () {
return GestureDetector(
onTapDown: (details) {
// 处理背景被点击事件
},
child: BottomSheet(
// BottomSheet 的内容
),
);
},
// 其他属性
)
```
2. 使用 showModalBottomSheet 函数时,将 isDismissible 参数设置为 true,并将 onTap 回调传递给 showModalBottomSheet 函数。
例如:
```
showModalBottomSheet(
context: context,
isDismissible: true,
onTap: () {
// 处理背景被点击事件
},
builder: (BuildContext context) {
return BottomSheet(
// BottomSheet 的内容
);
},
);
```
这些方法都可以监听 BottomSheet 背景被点击事件,您可以根据具体需求选择其中一种方法。
阅读全文