web-dev-qa-db-fra.com

Détecter la pression sur le bouton de retour alors que la boîte de dialogue est ouverte en flottement

Je crée une application en flutter dans laquelle je dois afficher une boîte de dialogue d'alerte. Et ce n'est pas un dialogue irrecevable. Mais quand j'appuie sur le bouton de retour sur Android il est rejeté. J'ai essayé d'utiliser le widget WillPopScope pour détecter un événement de contre-pression. Je peux détecter la pression de bouton de retour à l'aide de WillPopScope mais cela ne fonctionne pas pendant que La boîte de dialogue est ouverte. Toute suggestion et tout guide vous seront très utiles. Merci.

Extrait de création de boîte de dialogue:

void buildMaterialDialog(
  String dialogTitle,
  String dialogContent,
  String negativeBtnText,
  String positiveBtnText,
  String positiveTextUri) {

showDialog(
    context: context,
    barrierDismissible: false,
    builder: (BuildContext context) {
      return new AlertDialog(
        title: new Text(dialogTitle),
        content: new Text(dialogContent),
        actions: <Widget>[
          new FlatButton(
            onPressed: () {
              //Function called
              _updateDialogNegBtnClicked(isCancelable);
            },
            child: new Text(negativeBtnText),
          ),
          new FlatButton(
            onPressed: () => launch(positiveTextUri),
            child: new Text(positiveBtnText),
          ),
        ],
      );
    });}
9
Gaurav

Le bouton Retour ne ferme pas la boîte de dialogue.

showDialog(
                            context: context,
                            barrierDismissible: false,
                            builder: (BuildContext context) {
                              return WillPopScope(
                                onWillPop: () {},
                                child: new AlertDialog(
                                  title: new Text('Title'),
                                  content: new Text('This is Demo'),
                                  actions: <Widget>[
                                    new FlatButton(
                                      onPressed: () {
                                        //Function called
                                      },
                                      child: new Text('Ok Done!'),
                                    ),
                                    new FlatButton(
                                      onPressed: () {
                                        Navigator.pop(context);
                                      },
                                      child: new Text('Go Back'),
                                    ),
                                  ],
                                ),
                              );
                            });
22
anmol.majhail