Flutter中弹出对话框是使用showDialog函数,如果想拦截返回键,不想其点击返回键的时候消失,
就要嵌套一层WillPopScope,示例代码如下:
showDialog(
context: context,
barrierDismissible: false,//点击外部遮罩区域是否可以关闭dialog
builder: (context) {
return WillPopScope(
onWillPop: () async => false,//关键代码
child: Dialog(
backgroundColor: Colors.transparent,
insetPadding: EdgeInsets.zero,
child: child,
),
);
},
);
在Dialog的外面再嵌套一层WillPopScope,并将onWillPop设为false即可