【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: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
TextButton(
child: Text('关于'),
onPressed: () {
Navigator.pushNamed(context, '/about');
},
),
TextButton(
child: Text('设置'),
onPressed: () {
Navigator.pushNamed(context, '/settings');
},
),
],
),
),
);
}
}
class AboutPage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('关于'),
),
body: Center(
child: Text('关于信息'),
),
);
}
}
class SettingsPage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('设置'),
),
body: Center(
child: Text('设置信息'),
),
);
}
}
这段代码创建了一个简单的Flutter应用,展示了如何使用命名路由来在不同页面之间切换。通过点击主页上的按钮,用户可以导航到关于和设置页面,并且每个页面都有自己的路由名称。这是学习Flutter路由组件的一个很好的示例。
评论已关闭