当前位置: 首页 > 知识库问答 >
问题:

Flutter AlertDialog Navigator弹出黑屏问题

吕承福
2023-03-14

flutter中的AlertDialog有一个奇怪的问题来取消对话框。我使用下面的代码片段来关闭flutter文档中提到的对话框。

 Navigator.of(dialogContext).pop();

但显示它是如何工作的,使应用程序进入非活动模式,并变成黑屏窗口。要让它再次工作,我必须干掉这个应用程序,然后重新启动。

下面是flutter中alertdialog的完整代码

Future<Null> _showDialogContactDial(context, Contact contactRecord) async {

  return showDialog<Null>(
    context: context,
    barrierDismissible: true, // user must tap button!
    builder: (BuildContext dialogContext) {
      return new AlertDialog(
        title: new Text('Confirm Number'),
        content: new SingleChildScrollView(
          child: new ListBody(
            children: <Widget>[
              new TextFormField(
                maxLines: 1,
                decoration: new InputDecoration(hintText: 'Number'),
                keyboardType: TextInputType.number,
                autofocus: false,
                initialValue: contactRecord.phoneNumber.number,
              ),
            ],
          ),
        ),
        actions: <Widget>[
          new FlatButton(
            child: new Text(
              'Call',
              style: TextStyle(color: Colors.black),
            ),
            onPressed: () {
              Navigator.of(dialogContext).pop();


              _launchURL(
                  context);
            },
          ),
          new FlatButton(
            color: Colors.red,
            child: new Text('Close', style: TextStyle(color: Colors.white)),
            onPressed: () {
              Navigator.of(dialogContext).pop();
            },
          ),
        ],
      );
    },
  );
}

我还注意到它适用于一个按钮“Call”,没有任何问题,但不适用于取消警报对话框,正如您在两个按钮操作中看到的相同代码段。

共有1个答案

路欣荣
2023-03-14

只需添加rootnavigator:true

Navigator.of(dialogcon, rootNavigator: true).pop();
 类似资料:
  • 在我的主要活动中,我有5个图像视图。通过单击每个图像,它应该将活动导航到另一个。但我的问题是,当单击一个图像时,它只显示一次相同的活动,然后黑屏一段时间,然后只显示第二个活动。我谷歌了这个,但我不知道如何纠正这个…到目前为止我已经试过了 但对我来说什么都不起作用..帮我解决这个问题…提前谢谢…

  • 问题内容: 我的laravel站点以前可以工作,最近我升级到Apache 2.4和PHP 5.5.7。 现在,当我进入laravel.mydomain.com时,我得到一个白色的空白屏幕,apache错误日志,路由等中的任何内容都应该像以前一样正常。 当我在/var/sites/laravel/public/.htaccess中插入无效行时,得到500,.htaccess正在加载。 这是我的.ht

  • 我做了一些研究,看看我是否可以用这种方式解决这个问题,但似乎没有找到任何解决我问题的方法。我发现了这两个问题:为什么我的pygame显示器没有显示任何东西?对为什么PyGame显示屏是黑屏感到困惑。我试图用评论中的建议来解决我的问题,但没有成功,或者问题的原因与我的不同。 当我运行代码时,pygame窗口会显示,但完全是黑色的,但不会调用任何错误。

  • 一般情况下人在什么情况下喝酒?多半朋友聚会聊到兴奋了,或者发生了什么刺激人的大事,比如恋爱了,失恋了,发财了,破产了…… 绝影想这么晚了,又没有什么聚会,BOSSLiu找自己喝酒,肯定是受了什么刺激,毕竟同事一场,还是应该好好开导开导他,于是屁颠屁颠跟他跑到楼下烧烤摊。 BOSSLiu一来就大声武气要了两瓶啤酒,一碟煮花生,两条烤鱼。今天是他们俩最后一次领“生活补助”的日子,BOSSLiu显得特别

  • 本文向大家介绍Android截屏SurfaceView黑屏问题的解决办法,包括了Android截屏SurfaceView黑屏问题的解决办法的使用技巧和注意事项,需要的朋友参考一下 最近项目中有截屏的需求,普通的view截屏方法网上一搜一大把,但是SurfaceView截屏黑屏问题很多文章说的并不清楚,自己参考了一些别的博客,再加上自己的思考,算是找到了一种解决方案。 1、首先看我们一般是怎么用Su

  • 我刚刚开始学习LWJGL / OpenGL来创建3D游戏,所以我从小处着手,尝试制作一条线(2D)的简单显示。窗口加载正常,大小合适,但显示器上没有绘制任何内容。有一个空白屏幕,我似乎对代码所做的任何更改都不会影响在屏幕上绘制的内容。这可能是因为我对如何正确执行此操作缺乏了解,或者这可能是我的代码/计算机中的问题。我尝试在我的初始化代码中添加和删除各种东西,如glEnable(GL_TEXTURE