https://blog.csdn.net/weixin_42869574/article/details/98335757
Flutter跳轉頁面的方式
一.跳轉其他頁面有返回
二.跳轉其他頁面不返回(從路由棧中移除本頁面)
一.跳轉其他頁面有返回
//第一種
Navigator.push(context, CupertinoPageRoute(builder: (context){
return new Page();
}));
//第二種
Navigator.of(context).push(new MaterialPageRoute(builder: (context) {
return new Page();
}));
//第三種
void main() => runApp(new MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new MaterialApp(
routes: {
//Map<String, WidgetBuilder>
"/splash": (context) => new SplashPage(),
"/login": (context) => new LoginPage(),
"/home": (context) => new HomePage(),
"/detail": (context) => new DetailPage(),
},
onUnknownRoute: (RouteSettings setting) {
String name = setting.name;
print("onUnknownRoute:$name");
return new MaterialPageRoute(builder: (context) {
return new NotFoundPage();
});
},
title: 'Flutter Demo',
theme: new ThemeData(
primarySwatch: Colors.blue,
),
home: new SplashPage(),
);
}
}
//彈出路由,跳轉到其他頁面
Navigator.of(context).pushNamed("/detail");
//這是返回方法
Navigator.pop(context);
二.跳轉其他頁面不返回(從路由棧中移除本頁面)
//第一種
Navigator.of(context).pushReplacementNamed("/login");
//第二種
Navigator.pushAndRemoveUntil( context, new MaterialPageRoute(builder: (context) => new Page()),(route) => route == null,);
//第三種
Navigator.of(context).pushNamedAndRemoveUntil("/login", (Route<dynamic> route) => false);
點贊
收藏
分享
————————————————
版權聲明:本文為CSDN博主「析木之林」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/weixin_42869574/java/article/details/98335757