前言
这篇文章我通过页面跳转、路由传参、命名路由、路由生成钩子的顺序从简入深的说明Flutter的路由。
想要了解Flutter的路由就要了解MaterialPageRoute和Navigator
MaterialPageRoute
MaterialPageRoute 是一种特定类型的路由,用于在Material Design风格的应用中创建页面转场。它负责定义如何构建页面以及转场动画。
MaterialPageRoute 构造函数的各个参数的意义
MaterialPageRoute({
WidgetBuilder builder,
RouteSettings settings,
bool maintainState = true,
bool fullscreenDialog = false,
}) |
| 参数 |
意义 |
|---|---|
| builder | 这是一个函数,返回你想要展示的页面(一个Widget) |
| settings | 可以包含路由的名称和其他设置 |
| maintainState | 该属性决定是否在页面被弹出后保持页面的状态。默认值为 true,这意味着当你导航到一个新页面时,返回到原页面时,它会保留之前的状态(例如滚动位置、输入字段的内容等) |
| fullscreenDialog | 该属性用于指示新页面是否应该以全屏对话框的形式呈现。默认值为 false,即正常的页面转场。如果设置为 true,则新页面将以全屏对话框的形式展示,通常带有从底部滑入的动画效果。 |
Navigator
Navigator 是一个Flutter提供的类,用于管理页面(或称为路由)的导航。你可以把它想象成一个装有多张卡片的盒子,每张卡片代表一个页面。Navigator会根据你要显示的页面将卡片推入(或弹出)盒子。
常用方法
| 方法 | 描述 |
|---|---|
|
|
用于添加一个新的页面到导航栈的顶部。 |
pop |
用于移除当前页面,返回到上一个页面 |
pushNamed |
根据路由的名称推送页面 |

最低0.47元/天 解锁文章
306

被折叠的 条评论
为什么被折叠?



