0
votes

flutter - rejeter alertdialog avec condition de code

J'ai une fonction pour ouvrir un alertdialog pour empêcher l'utilisateur de toucher ou de changer lorsque l'application reçoit des données du serveur: xxx

J'ai besoin d'un moyen de Fermez cette boîte de dialogue après que toutes les données sont téléchargées, sans l'utilisation de clic ou sur le bouton pour la fermer. Comment puis-je atteindre cela?


0 commentaires

3 Réponses :


0
votes

Un simple navigator.of (contexte) .pop (); fait le tour


0 commentaires

0
votes

Cela dépend de l'endroit où vous déclenchez la fonction de données de récupération

Exemple simple - IMPÉRATIF: P>

_processing() async {
    await showDialog(
      context: context,
      builder: (BuildContext context) {
        // replace "Future.delayed(Duration(seconds: 5))" with your API call
        Future.delayed(Duration(seconds: 5)).then((_) {
          Navigator.of(context).pop();
        });

        return AlertDialog(
          backgroundColor: Colors.transparent,
          elevation: 0,
          content: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            crossAxisAlignment: CrossAxisAlignment.center,
            children: <Widget>[
              CircularProgressIndicator(
                valueColor: AlwaysStoppedAnimation<Color>(Colors.white),
              ),
              Padding(
                padding: const EdgeInsets.all(8.0),
                child: Text(
                  "Hi",
                  style: TextStyle(color: Colors.white),
                ),
              )
            ],
          ),
        );
      },
    );
  }


0 commentaires

0
votes

Je pense que votre question est de savoir comment savoir quand devriez-vous le renvoyer. Lorsque vous démarrez la demande de _mainbloc code>, vous devez également écouter du flux à l'intérieur de _mainbloc code>. Vérifiez les données de réponse et vous pouvez utiliser l'une des opérations suivantes pour rejeter votre boîte de dialogue:

Navigator.of(context).pop();
Navigator.pop(context);


0 commentaires