美文网首页Flutter圈子DartFlutter
Flutter基础之Navigate教程(含demo)

Flutter基础之Navigate教程(含demo)

作者: iCloudEnd | 来源:发表于2019-02-17 09:51 被阅读81次

    Flutter基础之Navigate教程

    大部分app都包含多个页面来显示信息。例如,一个app用一页屏幕来显示商品信息。用户可以通过点击商品图片显示一个详情页来获得更多信息。

    专业用语: 在Flutter里面,屏幕和页面统称为routes。

    在Android里,一个route相当于一个Activity。
    在iOS里,一个route等于一个ViewController。
    在Flutter里,一个route仅仅是一个widget。

    介绍

    下面将介绍一下如何在俩个routes之间进行导航,共三步:

    1. 创建两个routes
    2. 使用Navigator.push()从第一页面导航到第二个
    3. 通过Navigator.pop() 从第二个页面返回第一个

    demo

    import 'package:flutter/material.dart';
    
    void main() {
      runApp(MaterialApp(
        title: 'Navigation Basics',
        home: FirstRoute(),
      ));
    }
    
    class FirstRoute extends StatelessWidget {
      @override
      Widget build(BuildContext context) {
        return Scaffold(
          appBar: AppBar(
            title: Text('First Route'),
          ),
          body: Center(
            child: RaisedButton(
              child: Text('Open route'),
              onPressed: () {
                Navigator.push(
                  context,
                  MaterialPageRoute(builder: (context) => SecondRoute()),
                );
              },
            ),
          ),
        );
      }
    }
    
    class SecondRoute extends StatelessWidget {
      @override
      Widget build(BuildContext context) {
        return Scaffold(
          appBar: AppBar(
            title: Text("Second Route"),
          ),
          body: Center(
            child: RaisedButton(
              onPressed: () {
                Navigator.pop(context);
              },
              child: Text('Go back!'),
            ),
          ),
        );
      }
    }
    

    相关文章

      网友评论

        本文标题:Flutter基础之Navigate教程(含demo)

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