admin管理员组

文章数量:1633834

本文目录

    • 前言
    • 静态路由
    • 动态路由

前言

前面讲解过一些Flutter路由知识,比如讲解Hero动画的时候,就提到过路由的相关知识。其实路由是专业名词,就是界面切换,而跳转界面解释路由跳转。(下图为动态路由实现效果)

我们提到过,在Flutter开发中,路由的管理是通过堆栈的方式进行管理的,也就是说基本的用法就是push与pop方式,而在实际的项目中可没有那么简单,页面之间的跳转情况比较多,这就涉及到路由栈的管理知识,而路由的种类又分为静态路由与动态路由,下面我们分别来讲解这两种路由的方式。

静态路由

顾名思义,静态路由就是在知道明确跳往哪个界面时的情况下使用的。比如在MaterialApp构造函数里,我们可以定义路由列表。我们前面有介绍就是在main的入口函数里的runApp方法中传入,具体的代码使用如下:

import 'package:flutter/material.dart';
import 'package:route_flutter_app/page1.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
   
  @override
  Widget build(BuildContext context) {
   
    return MaterialApp(
      title: '静态路由',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      routes: {
   
        '/page1':(context)=>Page1(title: "主页面",),
        '/page2':(context)=>Page2(title: "第二个页面",),
        '/page3':(context)=>Page3(title: "第三个页面",),
        '/page4':(context)=>Page4(title: "第四个页面",),
      },
      onUnknownRoute: (RouteSettings setting){
   
        String name=setting.name;
        print("没有匹配到路由");
        return new MaterialPageRoute(builder: (context){
   
          return new ErrorPage(title: "没有匹配的页面",);
        });
      },
      home: Page1(title: "主页面",),
    );
  }

本文标签: 路由静态二十三动态Flutter