我正在使用Modal Bottom Sheet并希望提供模糊的背景,但是参数barriercolor的类型是Color,所以我不能使用BackdropFilter()。 有人知道如何为Modal Bottom Sheet实现模糊的背景吗?
我正在使用Modal Bottom Sheet并希望提供模糊的背景,但是参数barriercolor的类型是Color,所以我不能使用BackdropFilter()。 有人知道如何为Modal Bottom Sheet实现模糊的背景吗?
更新:
抱歉我的粗心大意。
您可以设置 backgroundColor:Colors.transparent
和 expand:true
,并在 builder
中创建自己的 barrier
。
它可能会像这样:
showMaterialModalBottomSheet(
context: context,
backgroundColor: Colors.transparent,
expand: true,
builder: (context) => BackdropFilter(
filter: ImageFilter.blur(sigmaX: 20, sigmaY: 20),
child: Column(
mainAxisAlignment: MainAxisAlignment.end,
children: [
Container(
height: 200,
width: MediaQuery.of(context).size.width,
color: Colors.white,
child: Text('Im child'),
)
],
),
),
);
GestureDetector
包装起来,然后添加onTap:(){Navigator.of(context).pop();}
。这意味着,在您想要“轻击以关闭”的位置,需要包含一个已经包装了GestureDetector
的小部件。 - iwpzNavigator.of(context).pop()
可以关闭对话框。 - iwpz