Set up navigation between different screens using Navigator
To learn how to navigate between screens in a Flutter app using the Navigator class.
- Flutter SDK: version 2.0.0 or higher
- IDE: Visual Studio Code (Supported) or android studio (Supported) or IntelliJ IDEA (Supported).
- Operating System: Windows (7 or higher), macOS (10.12 or higher), or Linux (Ubuntu, Debian, Fedora, CentOS, or similar)
-
Create a new Flutter project by running the following command in your terminal:
flutter create my_flutter_app
The command creates a Flutter project directory called
my_flutter_appthat contains a simple demo app that uses Material Components. -
Change to the Flutter project directory.
cd my_flutter_app -
Open the
lib/main.dartfile in your Flutter project. -
Replace the existing code with the following code snippet:
import 'package:flutter/material.dart'; void main() { runApp(const MainApp()); } class MainApp extends StatelessWidget { const MainApp({super.key}); @override Widget build(BuildContext context) { return const MaterialApp( home: HomeScreen(), ); } } class HomeScreen extends StatelessWidget { const HomeScreen({super.key}); @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar(title: const Text('Home')), body: Center( child: ElevatedButton( onPressed: () { Navigator.push( context, MaterialPageRoute(builder: (context) => const SecondScreen()), ); }, child: const Text('Go to Second Screen'), ), ), ); } } class SecondScreen extends StatelessWidget { const SecondScreen({super.key}); @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar(title: const Text('Second Screen')), body: Center( child: ElevatedButton( onPressed: () { Navigator.pop(context); }, child: const Text('Go Back'), ), ), ); } }
-
Save the file.
-
Run your Flutter project using the following command:
flutter run
Select the appropriate device to run the app.
-
During the app execution, you can use the following commands:
- Enter
rto hot reload the app and see the changes you made to the code. - Enter
qto quit the app.
- Enter
exp_4_a_output.mp4
In this lab, we learned how to set up navigation between different screens in a Flutter app using the Navigator class.
By following this lab, you should now have a good understanding of how to implement basic navigation in a Flutter app using the Navigator class and named routes.

