Flutter 案例学习Flutter圈子Flutter中文社区

Flutter 案例学习之:Navigation

2018-09-12  本文已影响47人  与蟒唯舞

GitHub:https://github.com/happy-python/flutter_demos/tree/master/navigation_demo

lib/main.dart

import 'package:flutter/material.dart';
import 'package:navigation_demo/pages/homepage.dart';
import 'package:navigation_demo/pages/adddatapage.dart';

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: "Flutter Tutorial",
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      routes: {
        "/": (BuildContext context) => HomePage(),
        "/add": (BuildContext context) => AddDataPage(),
      },
      initialRoute: "/",
    );
  }
}

注意这里的 routesinitialRoute 属性。

lib/pages/homepage.dartlib/pages/adddatapage.dart 导航的时候,使用 Navigator.pushNamed 替代了 Navigator.push

Navigator.push(
  context,
  MaterialPageRoute(
    builder: (BuildContext context) => AddDataPage(),
  )).then((value) {
  print("接收返回的数据: $value");
});
Navigator.pushNamed(context, "/add").then((value) {
  print("接收返回的数据: $value");     
});

lib/pages/adddatapage.dartlib/pages/homepage.dart 返回的时候,使用 Navigator.pop 可以向上一个页面传值。

// 返回数据
Navigator.pop(context, "数据");
上一篇 下一篇

猜你喜欢

热点阅读