我称导航器pushReplacement为在我的flutter应用程序中显示一个新视图,并希望立即弹出一个简单对话框,向用户介绍该页面。(我希望用户能够在后台看到新视图)
如果我在窗口小部件的构建方法中调用showDialog,然后从构建方法返回窗口小部件(脚手架),则会出现错误,表明flutter已经在绘制窗口小部件。我希望我需要侦听构建完成事件,然后调用showDialog。
关于如何做到这一点的指导深表感谢。
您可以从“ initState()”内部调用对话框,以在绘制第一帧后立即保留其外观。
@override void initState() { super.initState(); WidgetsBinding.instance.addPostFrameCallback((_) async { await showDialog<String>( context: context, builder: (BuildContext context) => new AlertDialog( title: new Text("title"), content: new Text("Message"), actions: <Widget>[ new FlatButton( child: new Text("OK"), onPressed: () { Navigator.of(context).pop(); }, ), ], ), ); }); }