没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
再来分享一篇关于路由的姿势,前面两篇说的是由一个页面跳转另一个页面,这篇说说跳转页面之后如何往回跳(当然了,一般跳转页面后页面标题左面都会有一个箭头可以返回上一页,这个就不做讨论了),前面两篇文章已经附上了管理路由的代码,这里就简写了,只贴实现功能的部分代码 先把入口文件和管理路由配置好,后面直接往上面添加就可以 //main.dart import 'package:flutter/material.dart'; import 'routes/Routes.dart'; void main() => runApp(MyApp()); class MyApp extends Stateles
资源推荐
资源详情
资源评论
Flutter路由返回路由返回/替换替换/返回根路由返回根路由
再来分享一篇关于路由的姿势,前面两篇说的是由一个页面跳转另一个页面,这篇说说跳转页面之后如何往回跳(当然了,一般跳转页面后页面标
题左面都会有一个箭头可以返回上一页,这个就不做讨论了),前面两篇文章已经附上了管理路由的代码,这里就简写了,只贴实现功能的部分代
码
先把入口文件和管理路由配置好,后面直接往上面添加就可以
//main.dart
import 'package:flutter/material.dart';
import 'routes/Routes.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
initialRoute: "/",
onGenerateRoute: onGenerateRoute
);
}
}
//Routes.dart管理路由
import 'package:flutter/material.dart';
import '../pages/Search.dart';
import '../pages/user/Register.dart';
import '../pages/user/Continue.dart';
import '../pages/user/Finish.dart';
final routes = {
"/" :(context) => HomeContent(),
"/search" : (context) => SearchPage(),
};
var onGenerateRoute = (RouteSettings settings) {
final String name = settings.name;
final Function pageContentBuilder = routes[name];
if (pageContentBuilder != null) {
if (settings.arguments != null) {
final Route route = MaterialPageRoute(
builder: (context) => pageContentBuilder(context, arguments: settings.arguments)
);
return route;
} else {
final Route route = MaterialPageRoute(
builder: (context) => pageContentBuilder(context)
);
return route;
}
}
};
1、返回上一页:从首页跳转到搜索页→再跳回首页
//Home.dart
import 'package:flutter/material.dart';
import '../Search.dart';
class HomePage extends StatefulWidget {
HomePage({Key key}) : super(key: key);
_HomePageState createState() => _HomePageState();
}
class _HomePageState extends State {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar:AppBar(
title: Text("首页"),
) ,
body: Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.center,
children: [
RaisedButton(
child: Text("跳转到搜索页面"),
onPressed: () {
//普通路由跳转
Navigator.pushNamed(context, "/search");
},
color: Theme.of(context).accentColor,
textTheme: ButtonTextTheme.primary
),
SizedBox(height: 20),
],
)
);
}
}
//Search.dart
import 'package:flutter/material.dart';
class SearchPage extends StatelessWidget {
const SearchPage({Key key}) : super(key: key);
@override
Widget build(BuildContext context) {
return Scaffold(
剩余7页未读,继续阅读
资源评论
weixin_38578242
- 粉丝: 3
- 资源: 945
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功