如何禁用 AlertDialog 颤动的 onBackPressed()

Tab*_*aba 2 flutter flutter-layout

我有一个AlertDialog()barrierDismissible已设置为false。但是,当用户按下 Android 设备上的后退按钮时,AlertDialog 将关闭。如何才能完全阻止用户关闭AlertDialog()?

这是我到目前为止所做的:

          return showDialog<bool>(
            context: context,
            barrierDismissible: false,
            builder: (BuildContext context) {
              return AlertDialog(
                title: Text('Title'),
                content: Text('This is the alert dialog content'),
                actions: <Widget>[
                  FlatButton(
                    child: Text('ok'),
                    onPressed: () {
                      Navigator.of(context).pop();
                      print('ok you win');
                    },
                  ),
                ],
              );
            },
          );
Run Code Online (Sandbox Code Playgroud)

Nil*_*hod 12

尝试用这种方式WillPopScope()来处理onBackPressed()事件

showDialog(
                            context: context,
                            barrierDismissible: false,
                            builder: (BuildContext context) {
                              return WillPopScope(
                                onWillPop: () {return Future.value(false);},
                                child:  return AlertDialog(
                title: Text('Title'),
                content: Text('This is the alert dialog content'),
                actions: <Widget>[
                  FlatButton(
                    child: Text('ok'),
                    onPressed: () {
                      Navigator.of(context).pop();
                      print('ok you win');
                    },
                  ),
                ],
              ),
                              );
                            });
Run Code Online (Sandbox Code Playgroud)