Android 《往回走》是《颤栗》中的黑屏

Android 《往回走》是《颤栗》中的黑屏,android,dart,flutter,Android,Dart,Flutter,我正在尝试使用Navigator.pop(上下文)在应用程序栏中,但问题是它显示一个黑屏,然后你必须在android上按下后退按钮,然后它弹出当前的黑屏,所以这个黑屏是从哪里来的,我不知道,在iPhone中没有后退按钮,所以为什么它会卡在那个屏幕上。请帮帮我 这是我使用导航器代码的代码 @override Widget build(BuildContext context) { return new Scaffold( backgroundColor: Color.fromRGBO(3

我正在尝试使用
Navigator.pop(上下文)在应用程序栏中,但问题是它显示一个黑屏,然后你必须在android上按下后退按钮,然后它弹出当前的黑屏,所以这个黑屏是从哪里来的,我不知道,在iPhone中没有后退按钮,所以为什么它会卡在那个屏幕上。请帮帮我

这是我使用导航器代码的代码

 @override
 Widget build(BuildContext context) {
 return new Scaffold(
  backgroundColor: Color.fromRGBO(30, 30, 30, 1.0),
  appBar: new AppBar(
    elevation: 0.0,
    backgroundColor: Color.fromRGBO(30, 30, 30, 1.0),
    actions: <Widget>[
      new IconButton(
          icon: Icon(Icons.settings_power),
          onPressed: () {
            Navigator.pop(context);
          }),
    ],
    title: new Text(
      "PROLOG",
      style: new TextStyle(color: Colors.white),
    ),
    centerTitle: true,
  ),
 );
}
@覆盖
小部件构建(构建上下文){
归还新脚手架(
背景颜色:颜色。来自RGBO(30,30,30,1.0),
appBar:新的appBar(
标高:0.0,
背景颜色:颜色。来自RGBO(30,30,30,1.0),
行动:[
新图标按钮(
图标:图标(图标、设置和电源),
已按下:(){
Navigator.pop(上下文);
}),
],
标题:新文本(
“序言”,
样式:新文本样式(颜色:Colors.white),
),
标题:对,
),
);
}

最奇怪的是,我在另一个类中使用了这段代码,它工作正常。那么问题出在哪里…

调用
Navigator.pop(context)
后出现黑屏/黑屏的原因是当前堆栈之外没有小部件/屏幕

在颤振中,
SystemChannels.platform.invokeMethod('SystemNavigator.pop')
用于删除最顶层的颤振实例。如中所述,该方法应该从Android中的堆栈中删除当前活动。不过,iOS上的行为有点不同

如果您试图实现此功能以关闭应用程序,这是非常不鼓励的。这一点已在上一篇文章中指出。我试图搜索更新的参考资料,但浏览苹果的开发者文档是一项挑战

无论如何,如果您想尝试一下,我已经对您的代码片段做了一些更改

将此添加到导入中

导入“dart:io”展示平台,退出;
至于代码,则用于iOS。建议使用中提到的范围为0…127的退出代码。而
SystemChannels.platform.invokeMethod('SystemNavigator.pop')
用于其他平台(本例中主要是Android)

小部件构建(构建上下文){
归还新脚手架(
背景颜色:颜色。来自RGBO(30,30,30,1.0),
appBar:新的appBar(
标高:0.0,
背景颜色:颜色。来自RGBO(30,30,30,1.0),
行动:[
新图标按钮(
图标:图标(图标、设置和电源),
//如果平台为iOS呼叫退出(0)
//否则调用首选方法
// https://api.flutter.dev/flutter/services/SystemNavigator/pop.html
按下:()=>Platform.isIOS
?出口(0)
:SystemChannels.platform.invokeMethod('SystemNavigator.pop'),
),
],
标题:新文本(
“序言”,
样式:新文本样式(颜色:Colors.white),
),
标题:对,
),
);
}
演示


检查过了。一切正常。你能再给我一些密码吗?也许有something@AndreyTurkovsky它的fixed@AndreyTurkovsky我试图调用无状态小部件,但在调用该小部件并调用导航器代码后,它首先从nowhere@AnasReza谢谢你的帮助。你应该把你的评论作为答案贴出来,这样也能帮助别人