在Flutter中,当调用Navigator.of(context).pop()时,它会从导航栈中弹出当前页面并返回到上一个页面。然而,如果没有上一个页面,屏幕可能会变黑,因为没有其他页面可供显示。
要解决这个问题,可以使用以下方法之一:
if(Navigator.canPop(context)) {
Navigator.of(context).pop();
} else {
Navigator.pushReplacement(
context,
MaterialPageRoute(builder: (context) => NewPage()),
);
}
if(Navigator.canPop(context)) {
Navigator.of(context).pop();
} else {
SystemNavigator.pop();
}
这些方法可以确保在没有上一个页面时,不会导致屏幕变黑。