在flutter中,在两个页面之间导航时出现黑屏。

7 浏览
0 Comments

在flutter中,在两个页面之间导航时出现黑屏。

这是我的主页代码:

routes: {
    '/second' : (context) => addExpence(),
  },

我的第二个页面的代码是:

FlatButton(

child: Text("完成".toUpperCase()),

onPressed: (){

Navigator.pop(context);

},

)

请注意,这两个页面位于不同的文件中。现在的问题是,当从第一个页面返回时,我得到一个黑屏。

0
0 Comments

Flutter在页面之间导航时出现黑屏的问题是因为导航过程中没有正确处理页面栈的问题。下面是一个解决该问题的方法:

首先,我们需要判断是否可以返回上一个页面,如果可以的话就调用Navigator.pop()方法返回上一个页面,如果不可以的话就调用SystemNavigator.pop()方法关闭应用程序。

以下是解决方法的代码实现:

if(Navigator.canPop(context)){

Navigator.of(context).pop();

}else{

SystemNavigator.pop();

}

这段代码首先调用Navigator.canPop(context)方法判断是否可以返回上一个页面,如果可以的话就调用Navigator.of(context).pop()方法返回上一个页面。如果不可以的话就调用SystemNavigator.pop()方法关闭应用程序。

通过上述方法,我们可以解决在Flutter中页面导航时出现黑屏的问题。

0
0 Comments

在Flutter中,当在两个页面之间进行导航时出现黑屏是很常见的。这种情况通常发生在从第一个页面返回时,因为此时导航器(Navigator)为空。如果您想要关闭您的应用程序,您应该使用以下方法:[方法](https://stackoverflow.com/questions/45109557)。

那么,如何知道应该使用该方法来退出应用程序呢?您可以重写返回按钮事件并检查它是否是顶层屏幕。

对于我来说,如果Navigator.of(context).canPop()返回true,那么调用Navigator.of(context).pop(),否则调用SystemNavigator.pop()。

0