Route
所谓路由管理,就是管理页面之间如何跳转,也被称为导航管理。这和原生开发类似,无论是Android还是iOS,导航管理都是通过维护一个路由栈来实现的,路由入栈(push)操作对应打开一个新页面,路由出栈(pop)操作对应页面关闭操作。在Flutter开发中,实现页面跳转需要同时使用Route 和 Navigator。
- Route是一个应用程序抽象的屏幕或页面;
- Navigator 是一个管理路由的widget;
路由(Route),在移动开发中通常用来表示移动应用的页面(Page),具体来说,Route在Android中通常指一个Activity,在iOS中指一个ViewController。
Navigator是一个路由管理的widget,它通过一个栈来管理一个路由widget集合。通常当前屏幕显示的页面就是栈顶的路由,Navigator提供了一系列方法来管理路由栈。
示例为了说明Flutter是如何实现路由跳转的,我们创建两个页面:NewRoute.dart和main.dart。 其中,NewRoute.dart的源码如下:
import 'package:flutter/material.dart';
import 'package:flutter/cupertino.dart';
class SecondPage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new Scaffold(
appBar: new App