Flutter 基础(五)Route 路由以及页面间传值

本文介绍了Flutter中的Route路由机制,包括新建路由、注册路由的方法,以及两种页面间传值的方式:新建路由传值和注册路由传值。详细讨论了如何通过MaterialPageRoute的settings参数和RouteSettings的arguments进行传值。
摘要由CSDN通过智能技术生成

Route 路由以及页面间传值

  • 一种页面跳转机制
  • 路由 Route 对应到 Android 就是 Intent
  • Flutter 路由分两种:新建路由、注册路由
  • 需要Route表示 Navigator进行管理
  • 跳转页面 Navigator.push()
  • 返回页面 Navigator.pop()
  • 传值
    在这里插入图片描述

1.新建路由

import 'package:flutter/material.dart';

void main() {
   
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
   
  @override
  Widget build(BuildContext context) {
   
    return MaterialApp(
      title: 'Route Demo',
      home: Scaffold(
        appBar: AppBar(
          title: Text('Route Demo'),
        ),
        body: FirstPage(),
      ),
    );
  }
}

class FirstPage extends StatelessWidget {
   
  @override
  Widget build(BuildContext context) {
   
    return Container(
      width: double.infinity,
      color: Colors.redAccent[100],
      child: Column(
        crossAxisAlignment: CrossAxisAlignment.center,
        mainAxisAlignment: MainAxisAlignment.center,
        children: <Widget>[
          Text(
            '当前页面 FirstPage',
            style: TextStyle(
              fontSize: 32,
              color: Colors.white,
            ),
          ),
          RaisedButton(
            color: Colors.blue,
            child: Text(
              '去下一个页面',
              style: TextStyle(
                color: Colors.white,
              ),
            ),
            onPressed: () {
   
              //新建路由跳转页面
              Navigator.push(context, MaterialPageRoute(builder: (context) {
   
                return SecondPage();
              }));
            },
          ),
        ],
      ),
    );
  }
}

class SecondPage extends StatelessWidget {
   
  @override
  Widget build(BuildContext context) {
   
    return Scaffold(
      body: Container(
        width: double.infinity,
        color: Colors.greenAccent[100],
        child: Column(
          crossAxisAlignment: CrossAxisAlignment.center,
          mainAxisAlignment: MainAxisAlignment.center,
          children:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值