flutter从main文件push到二级界面,再从二级界面pop回去黑屏问题

flutter从main文件push到二级界面,再从二级界面pop回去黑屏问题。

这两天写flutter代码时,发现了一个问题如图,在main.dart文件中push到二级界面在这里插入图片描述
并在二级界面中代码pop回上级界面在这里插入图片描述
此时屏幕黑屏,黑屏原因是因为materialApp,代码如图:在这里插入图片描述
此时,去掉二级界面的materialApp,直接返回Scafford即可解决pop黑屏问题。
在这里插入图片描述

MaterialApp是Material库中提供的Flutter APP框架,类似于iOS中的navigationController,通过它可以设置应用的名称、主题、语言、首页及路由列表等。MaterialApp是一个widget;Scaffold:是Material库中提供的页面脚手架,类似于iOS中的viewController,本质也是一个widget,它提供了默认的导航栏、标题和包含主屏幕widget树的body属性。MaterialApp,实际上是整个APP的入口,类似于搭积木时最底层的积木,其他界面都是从materialApp push过去的,materialApp可以理解为一个大的容器,任何一个界面pop都相当于一个压栈的过程,而push是一个出栈的过程,无论你怎么pop、push都应该在这个容器内,而当你在另外一个文件中返回了materialApp,相当于新建了一个容器,因此,你pop时,你无法从新的容器中pop到另一个容器中,上一个界面是不存在的,因此黑屏。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值