import 'dart:async'; import 'package:flutter/material.dart'; void main() { runApp(MyApp()); } class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( home: Scaffold( appBar: AppBar( title: Text('Countdown Dialog'), ), body: Center( child: RaisedButton( child: Text('Show Dialog'), onPressed: () { showDialog( context: context, builder: (context) => CountdownDialog(), ); }, ), ), ), ); } } class CountdownDialog extends StatefulWidget { @override _CountdownDialogState createState() => _CountdownDialogState(); } class _CountdownDialogState extends State<CountdownDialog> { int countdown = 5; @override void initState() { super.initState(); Timer.periodic(Duration(seconds: 1), (timer) { if (countdown == 0) { timer.cancel(); Navigator.of(context).pop(); } else { setState(() { countdown--; }); } }); } @override Widget build(BuildContext context) { return AlertDialog( title: Text('Countdown Dialog'), content: Text('Closing in $countdown seconds...'), ); } }