flutter showBottomSheet 如何点击背景关闭
时间: 2024-01-25 14:02:02 浏览: 130
要在 Flutter 中实现点击背景关闭 BottomSheet,可以在 `showBottomSheet` 方法中设置 `backgroundColor` 参数为透明,并为其添加一个 `GestureDetector`,监听背景点击事件,代码如下:
```dart
showBottomSheet(
context: context,
backgroundColor: Colors.transparent,
builder: (BuildContext context) {
return GestureDetector(
onTap: () {
Navigator.of(context).pop();
},
child: Container(
height: 200,
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.only(
topLeft: Radius.circular(20.0),
topRight: Radius.circular(20.0),
),
),
child: Center(
child: Text('BottomSheet Content'),
),
),
);
},
);
```
在这个例子中,我们将 `backgroundColor` 设置为透明色,背景默认是可点击的,我们通过 `GestureDetector` 监听背景点击事件,当点击背景时,通过 `Navigator.of(context).pop()` 方法关闭 BottomSheet。注意,这里的 `context` 是 `showBottomSheet` 方法中的 `BuildContext`。
阅读全文