push
- 描述:将一个新的路由(页面)推送到导航栈中,使得新页面覆盖在当前页面之上。
- 应用场景:通常用于从一个页面跳转到另一个新页面,比如从首页跳转到详情页。
- 代码示例:
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => NewPage(),
),
);
pop
- 描述:将当前路由(页面)从导航栈中移除,返回上一个页面。如果导航栈中没有其他页面,则应用通常会退出。
- 应用场景:用户完成当前页面的操作后返回上一级页面,例如在详情页查看完信息后返回列表页。
- 代码示例:
Navigator.pop(context);
pushReplacement
- 描述:用新的路由替换当前路由,当前路由从导航栈中移除,新路由入栈。
- 应用场景:当不希望用户通过返回操作回到当前页面时使用,比如登录成功后替换登录页面为首页,防止用户返回登录页。
- 代码示例:
Navigator.pushReplacement(
context,
MaterialPageRoute(
builder: (context) => NewPage(),
),
);
popUntil
- 描述:从导航栈中移除直到满足指定条件的路由,然后将满足条件的路由设置为当前显示的页面。
- 应用场景:比如用户在多级页面中,想要直接回到特定页面(如首页),而不是一级一级返回。
- 代码示例:
Navigator.popUntil(
context,
ModalRoute.withName('/home'),
);