美文网首页
2.2.1. 路由管理

2.2.1. 路由管理

作者: 努力生活的西鱼 | 来源:发表于2020-04-07 13:29 被阅读0次

路由管理

路由(Route)在移动开发中通常指页面(Page)RouteAndroid中通常指一个Activity。所谓路由管理,就是管理页面之间如何跳转,通常也可被称为导航管理。导航管理会维护一个路由栈,路由入栈(push)操作对应打开一个新页面,路由出栈(pop)操作对应页面关闭操作,而路由管理主要是指如何来管理路由栈。

一个简单示例
1. 创建一个新路由
class NewRoute extends StatelessWidget {
  
  @override
  Widget build(BuildContext context) {
    return new Scaffold(
      appBar: new AppBar(title: new Text("New Route")),
      body: new Center(
        child: new Text("This is a new Route"),
      ),
    );
  }
  
}
2. 在上个界面中添加一个按钮
child: new Column(
        mainAxisAlignment: MainAxisAlignment.center,
        children: <Widget>[
          ...// 省略部分代码
          new FlatButton(
            child: new Text("Open a new Route"),
            textColor: Colors.blue,
            onPressed: () {
              // 导航到新路由
              Navigator.push(context, MaterialPageRoute(builder: (context){
                return new NewRoute();
              }));
            },
          ),
        ],
        )
MaterialPageRoute

MaterialPageRoute继承自PageRoute类,PageRoute类是一个抽象类,表示占有整个屏幕空间的一个模态路由页面,它还定义了路由构建及切换时过渡动画的相关接口及属性。MaterialPageRouteMaterial组件库提供的组件,它可以针对不同的平台,实现与平台页面切换动画风格一致的路由切换动画:

  • 对于Android,当打开新页面时,新的页面会从屏幕的底部滑动到屏幕顶部;当关闭页面时,当前页面会从屏幕顶部滑动到屏幕底部后消失,同时上一个页面会显示到屏幕上。

MaterialPageRoute构造函数的各个参数的意义:

MaterialPageRoute({
  WidgetBuilder builder,
  RouteSettings settings,
  bool maintainState = true,
  bool fullscreenDialog = false,
})
  • builder是一个WidgetBuilder类型的回调函数,它的作用是构建路由页面的具体内容,返回值是一个widget。我们通常要实现此回调,返回新路由的实例。
  • settings包含路由的配置信息,如路由名称,是否初始路由(首页)。
Navigator

Navigator是一个路由管理的组件,它提供了打开和退出路由页方法。Navigator通过一个栈来管理活动路由集合。通常当前屏幕显示的页面就是栈顶的路由。Navigator提供了一系列方法来管理路由栈,在此我们只介绍其最常用的两个方法:

  • static Future push(BuildContext context, Route route)
    将给定的路由入栈,返回值是一个Future对象,用以接收新路由出栈时的返回数据。

  • static bool pop(BuildContext context, [ result ])
    将栈顶路由出栈,result为页面关闭时返回给上一个页面的数据。

相关文章

  • 2.2.1. 路由管理

    路由管理 路由(Route)在移动开发中通常指页面(Page),Route在Android中通常指一个Activi...

  • Day13 - Flutter - 路由导航

    概述 路由管理 路由基本使用 命名路由使用(重点) 页面跳转的拓展 一、路由管理 1.1、认识Flutter路由路...

  • Flutter路由,跳转传值

    路由 Flutter 中的路由就是页面跳转。通过 Navigator 组件管理路由导航。并提供了管理堆栈的方法。 ...

  • 路由管理

    路由管理

  • Flutter 之 路由管理

    路由管理 待续

  • react-router v4 路由管理组件库

    react-router V4 概念:一个路由管理的组件库,包含多个路由组件 几个重要组件Router:管理路由的...

  • Flutter开发 -- [16 - 路由导航]

    一. 路由管理 1.1. 认识Flutter路由 路由的概念由来已久,包括网络路由、后端路由,到现在广为流行的前端...

  • react路由基础配置

    1、根据路径加载对应页面内容2、路由跳转3、路由懒加载4、嵌套路由(子路由)5、路由管理6、路由跳转权限校验 1、...

  • 路由选择之静态路由

    路由的几种来源 直连路由 静态路由 动态路由 静态路由简介 是一种需要管理员手工配置的特殊路由,在不同网络环境中有...

  • Flutter之路由管理(页面跳转)

    路由:核心是 路由映射表.如:名字detail映射到 DetailPage页面等 在Flutter中,路由管理主要...

网友评论

      本文标题:2.2.1. 路由管理

      本文链接:https://www.haomeiwen.com/subject/qgogphtx.html