Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 如何从一个屏幕导航到另一个屏幕,而无需按下颤振键?_Flutter_Dart_Navigation - Fatal编程技术网

Flutter 如何从一个屏幕导航到另一个屏幕,而无需按下颤振键?

Flutter 如何从一个屏幕导航到另一个屏幕,而无需按下颤振键?,flutter,dart,navigation,Flutter,Dart,Navigation,您能告诉我一些方法,我如何在不按下on按钮的情况下,在颤振中从一个屏幕导航到另一个屏幕。 从API得到响应后,当条件为真时,我使用三元运算符,它向我显示循环进程indocator,当它变为假时,它导航到新屏幕 _con.loading ? Padding( padding: EdgeInsets.all(55), child: Circula

您能告诉我一些方法,我如何在不按下on按钮的情况下,在颤振中从一个屏幕导航到另一个屏幕。 从API得到响应后,当条件为真时,我使用三元运算符,它向我显示循环进程indocator,当它变为假时,它导航到新屏幕

     _con.loading 
                  ? Padding(
                           padding: EdgeInsets.all(55),
                           child: CircularProgressIndicator(),)
                  : 
                    Navigator.of(context).pushNamed('/FindingDriver', 
arguments: RouteArgument(param: _con.order.id, param2: _con.order.foodOrders.first.food.restaurant.id)),

这取决于应用程序架构,但最简单的解决方案可能是在屏幕上添加一个后帧回调,如下所示:

class FirstPage扩展StatefulWidget{
@凌驾
_FirstPageState createState();
}
类_FirstPageState扩展了状态{
@凌驾
void initState(){
super.initState();
WidgetsBinding.instance.addPostFrameCallback(())异步{
最终响应=等待未来。延迟(持续时间(秒:3));
Navigator.of(context).pushReplacement(materialpage路线(生成器:()=>SecondPage());
});
}
@凌驾
小部件构建(构建上下文){
返回脚手架(
appBar:appBar(标题:Text('First'),),
主体:中心(子对象:循环压缩机指示器());
}
}
类SecondPage扩展了无状态小部件{
@凌驾
小部件构建(构建上下文){
返回脚手架(
appBar:appBar(标题:文本('Second'),),
主体:容器(),);
}
}

作为一种选择,考虑利用<代码> FutureBuilder <代码>,而不是替换整个屏幕,但它只是内容。

即使使用FutureBuilder,也可以使用POST框架回调来导航。上述方法给了我一个中间错误。请再次编辑代码。泰德·亨利,你能给我看看代码吗,怎么做?这将是一个很大的帮助