《深入浅出Dart》Flutter路由管理
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
initialRoute: '/',
routes: {
'/': (context) => HomePage(),
'/about': (context) => AboutPage(),
'/settings': (context) => SettingsPage(),
},
);
}
}
class HomePage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('主页'),
),
body: Center(
child: RaisedButton(
child: Text('关于'),
onPressed: () => Navigator.pushNamed(context, '/about'),
),
),
);
}
}
class AboutPage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('关于'),
),
body: Center(
child: RaisedButton(
child: Text('设置'),
onPressed: () => Navigator.pushNamed(context, '/settings'),
),
),
);
}
}
class SettingsPage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('设置'),
),
body: Center(
child: Text('设置页面'),
),
);
}
}
这段代码展示了如何在Flutter应用中使用命名路由进行页面间的导航。首先,在MyApp
类中定义了三个路由,分别是主页、关于和设置页。然后在HomePage
和AboutPage
类中,通过Navigator.pushNamed
方法来跳转到指定的页面。这是一个简单的例子,展示了如何在实际应用中使用Flutter的路由管理。
评论已关闭