Nav*_*een 6 android dart flutter
点击按钮时将显示一个alertDialog,并在几秒钟后自动消失。如何在Flutter中做到这一点?
Future.delayed如果在触发 Future 之前关闭对话框,可能会导致一些问题。因此,如果您使用它,请注意 showDialog 不可barrierDismissible: false关闭,并且 AlertDialog 没有关闭它的按钮。
否则,您可以使用计时器:
Timer timer = Timer(Duration(milliseconds: 3000), (){
Navigator.of(context, rootNavigator: true).pop();
});
showDialog(
... Dialog Code ...
).then((value){
// dispose the timer in case something else has triggered the dismiss.
timer?.cancel();
timer = null;
});
Run Code Online (Sandbox Code Playgroud)
最小的例如:
alertDialog5秒后关闭。
showDialog(
context: context,
builder: (context) {
Future.delayed(Duration(seconds: 5), () {
Navigator.of(context).pop(true);
});
return AlertDialog(
title: Text('Title'),
);
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1094 次 |
| 最近记录: |