在Flutter中,页面跳转通常是通过`Navigator`类来实现的。`Navigator`负责管理应用中的路由堆栈,可以通过`push`方法来添加新的路由到堆栈中,从而实现页面跳转,通过`pop`方法可以返回上一个路由。
以下是一个简单的Flutter页面跳转的示例代码:
```dart
import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: FirstPage(),
);
}
}
class FirstPage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('First Page'),
),
body: Center(
child: ElevatedButton(
onPressed: () {
// 使用Navigator.push跳转到SecondPage
Navigator.push(
context,
MaterialPageRoute(builder: (context) => SecondPage()),
);
},
child: Text('Go to Second Page'),
),
),
);
}
}
class SecondPage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Second Page'),
),
body: Center(
child: ElevatedButton(
onPressed: () {
// 使用Navigator.pop返回FirstPage
Navigator.pop(context);
},
child: Text('Go back to First Page'),
),
),
);
}
}
```
在这个示例中,`FirstPage`有一个按钮,点击后会使用`Navigator.push`跳转到`SecondPage`。`SecondPage`中有一个按钮,点击后会使用`Navigator.pop`返回`FirstPage`。
如果需要进行命名路由(使用`Navigator.pushNamed`和`Navigator.popUntil`)或者需要传递数据,可以通过定义路由和使用`RouteSettings`来实现。这些高级功能可以在搜索结果中找到更多的示例和解释[1][2]。