showBottomSheet 如何添加模糊层
时间: 2023-12-24 17:05:05 浏览: 171
要在 `showBottomSheet` 中添加模糊层,您可以在 `builder` 方法中使用 `Stack` 将模糊层和 BottomSheet 组合在一起。模糊层可以使用 `BackdropFilter` 和 `ImageFilter.blur` 来实现。下面是一个示例代码:
```dart
showBottomSheet(
context: context,
builder: (BuildContext context) {
return Stack(
children: <Widget>[
// 模糊层
BackdropFilter(
filter: ImageFilter.blur(sigmaX: 5.0, sigmaY: 5.0),
child: Container(
color: Colors.black.withOpacity(0.5),
width: double.infinity,
height: double.infinity,
),
),
// BottomSheet
Container(
margin: EdgeInsets.only(top: 100),
height: 300,
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.only(
topLeft: Radius.circular(20.0),
topRight: Radius.circular(20.0),
),
),
child: Center(
child: Text('BottomSheet Content'),
),
),
],
);
},
);
```
在这个例子中,我们使用 `Stack` 将模糊层和 BottomSheet 组合在一起。模糊层通过 `BackdropFilter` 和 `ImageFilter.blur` 来实现,`sigmaX` 和 `sigmaY` 参数控制模糊程度。BottomSheet 的部分与之前的示例代码类似。注意,这里的 `margin` 属性可以用来控制 BottomSheet 相对于模糊层的位置。
阅读全文