Flutter开发之——Navigator
一 概述
- Navigator说明及简单应用
- Navigator头条客户端应用场景
- Navigator之Tab切换
- 自定义Navigator跳转行为
二 Navigator说明及简单应用
2.1 Navigator说明
- Navigator 是管理路由的控件,通常情况下直接使用
Navigator.of(context)
的方法来跳转页面 - 在
WidgetsApp
中定义了Navigator.of(context)
并使用了此控件 - 应用程序的根控件通常是
MaterialApp
,MaterialApp
包含WidgetsApp
- 可以直接使用Navigator的相关属性。
2.2 Navigator简单应用
1 | Navigator( |
说明:
initialRoute
表示初始化路由onGenerateRoute
表示根据RouteSettings生成路由
三 Navigator头条客户端应用场景
3.1 头条客户端举报场景
头条客户端每一个新闻下面都有一个“叉号”,点击弹出相关信息,点击其中的局部,会在当前小窗户内跳转到举报页面,效果如下
3.2 仿制效果
首页代码
1 | @override |
PageC页面
1 | class PageC extends StatelessWidget { |
PageD页面代码
1 | class PageD extends StatelessWidget { |
效果图
四 Navigator之Tab切换
4.1 效果图
4.2 代码逻辑
首页代码
1 | import 'package:flutter/material.dart'; |
定义TabNavigator
1 | class TabNavigator extends StatelessWidget { |
列表页面(这里只放了一个跳转按钮)
1 | class ListPage extends StatelessWidget { |
详情页面
1 | class DetailPage extends StatelessWidget { |
五 自定义Navigator跳转行为
5.1 代码
首页
1 | class MyHomePage extends StatefulWidget { |
第一个页面
1 | class OnePage extends StatelessWidget { |
第二个页面
1 | class TwoPage extends StatelessWidget { |