Flutter开发之——路由堆栈
warning:
这篇文章距离上次修改已过187天,其中的内容可能已经有所变动。
在Flutter中,路由堆栈是用来管理应用中页面(或路由)的一种机制。以下是如何使用路由堆栈的一个基本示例:
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: HomePage(),
routes: <String, WidgetBuilder>{
'/detail': (BuildContext context) => DetailPage(),
},
);
}
}
class HomePage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Home Page'),
),
body: Center(
child: RaisedButton(
child: Text('Go to Detail Page'),
onPressed: () {
Navigator.pushNamed(context, '/detail');
},
),
),
);
}
}
class DetailPage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Detail Page'),
),
body: Center(
child: RaisedButton(
child: Text('Go back'),
onPressed: () {
Navigator.pop(context);
},
),
),
);
}
}
在这个例子中,我们定义了两个页面HomePage
和DetailPage
。MyApp
是应用的根Widget,它是一个MaterialApp
,它提供了一个路由表routes
,这个表告诉Flutter如何找到并创建名为/detail
的路由对应的页面。
HomePage
有一个按钮,当被点击时,它会使用Navigator.pushNamed
方法来推送一个名为/detail
的路由到路由堆栈上,从而显示DetailPage
。
DetailPage
有一个按钮,当被点击时,它会使用Navigator.pop
方法来从路由堆栈中弹出当前页面,返回到前一个页面。这是一个基本的路由堆栈管理的例子。
评论已关闭