没有合适的资源?快使用搜索试试~ 我知道了~
在android开发中界面都是对应着一个个Activity,我们通过intent从一个界面启动另外一个。路由(Route)在移动开发中通常指页面(Page),所谓路由管理,就是管理页面之间如何跳转,通常也可被称为导航管理。导航管理都会维护一个路由栈,路由入栈(push)操作对应打开一个新页面,路由出栈(pop)操作对应页面关闭操作,而路由管理主要是指如何来管理路由栈。 一、小试牛刀 先写一个New Route,然后主界面上包含一个按钮,点击按钮则跳转到新的页面。新页面非常简单,一个AppBar + 一个Text。 class NewRoute extends StatelessWidget {
资源推荐
资源详情
资源评论
Flutter中如何进行界面跳转中如何进行界面跳转
在android开发中界面都是对应着一个个Activity,我们通过intent从一个界面启动另外一个。路由(Route)在移动开发中通常指页面
(Page),所谓路由管理,就是管理页面之间如何跳转,通常也可被称为导航管理。导航管理都会维护一个路由栈,路由入栈(push)
操作对应打开一个新页面,路由出栈(pop)操作对应页面关闭操作,而路由管理主要是指如何来管理路由栈。
一、小试牛刀一、小试牛刀
先写一个New Route,然后主界面上包含一个按钮,点击按钮则跳转到新的页面。新页面非常简单,一个AppBar + 一个Text。
class NewRoute extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("New route"),
),
body: Center(
child: Text("I'am new route"),
),
);
}
}
接下来再看主界面包含跳转按钮(RaisedButton)的代码
class MyHomePage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("Home Page"),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text(
'Click button to open new route:',
),
RaisedButton.icon(
icon: Icon(Icons.send),
label: Text("Go"),
onPressed: () {
//导航到新路由
Navigator.push(context, MaterialPageRoute(builder: (context) {
return NewRoute();
}));
},
),
],
),
),
);
}
}
下面是运行后的效果动图:
我们看到从主界面跳转到新页面的代码非常简单,使用了以下代码段,接下来学习一下这段代码的含义。
//导航到新路由
Navigator.push(context, MaterialPageRoute(builder: (context) {
return NewRoute();
}));
二、路由管理二、路由管理
尽管导航到新路由的代码非常简短,但很多新的“元素”需要学习一番,不然还是不明白这段代码为何可以生效。
2.1 Navigator
Navigator 是一个路由管理的组件,它提供了打开和退出路由页方法。Navigator 通过一个栈来管理活动路由集合。通常当前屏幕显示的
页面就是栈顶的路由。Navigator 提供了一系列方法来管理路由栈。
Future push(BuildContext context, Route route)
将给定的路由入栈(即打开新的页面),返回值是一个Future对象,用以接收新路由出栈(即关闭)时的返回数据。
Future pushNamed(
BuildContext context,
String routeName, {
Object arguments,
})
将命名路由入栈,arguments为携带参数,返回值是一个Future对象,用以接收新路由出栈时的返回数据。
剩余7页未读,继续阅读
资源评论
weixin_38669674
- 粉丝: 11
- 资源: 931
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功