Rifat
Rifat

Reputation: 1888

How to dismiss flutter Get library dialog?

I am showing a dialogue with Get library and I want to dismiss automatically after a few seconds with Future. But I found no suitable function for that. So how do I dismiss a get dialogue after showing it?

code:

Get.dialog(Center(
    child: Material(
      color: Colors.blue,
      child: Text('Hello'),
    ),
  )); // how to dismiss? Like Get.Dismiss().

Upvotes: 1

Views: 4875

Answers (2)

Alok
Alok

Reputation: 9008

I have not used Get, but if you really want to do that thing, that I can suggest my way of doing it.

So, we will be using Flutter AlerDialog Class, which works the same, that is popping up the dialog, and you can always edit the content.

Now let us do these things:

  • Creating a dialog
  • Pop Up when the button is clicked
  • Auto dismiss the dialog

This will help you organize your solution. And we will be using Future only.

showAlertDialog(BuildContext context) {

  // set up the button
  Widget okButton = FlatButton(
    child: Text("OK"),
    onPressed: () { },
  );

  // set up the AlertDialog
  AlertDialog alert = AlertDialog(
    title: Text("My title"),
    content: Text("This is my message."),
    actions: [
      okButton,
    ],
  );

  // show the dialog
  showDialog(
    context: context,
    builder: (BuildContext context) {
      return alert;
    },
  );
}

This method will pop-up the dialog, and then autodismiss, the dialog:

void _ourAutoDismissDialog(BuildContext context){
    
   //Calling out showdialog method
   showAlertDialog(context);

   //Auto dismissing after the 2 seconds
   // You can set the time as per your requirements in Duration
   // This will dismiss the dialog automatically after the time you 
   // have mentioned
   Future.delayed(const Duration(seconds: 2), (){
      Navigator.of(context).pop();
   });
}
FlatButton(
  onPressed: () => _ourAutoDismissDialog(context)
  child: Text('Hello')
)

To dismiss the dialog, we need to do back operation, and we do it via Navigator.of(context).pop()

This is the result we get after implementing the above:

Resultant

Upvotes: 1

GJJ2019
GJJ2019

Reputation: 5182

for dismiss dialog try using :

Get.back();

or

navigator.pop();

Upvotes: 2

Related Questions