Flutter – How to navigate a new screen and back
Hi developer in this Flutter Tutorial, I am sharing how to navigate a new screen and back using flutter. In Android, our screen would have a new Activities. In iOS, we have called new ViewControllers. and In Flutter, screens are just Widgets!. So here I am explaining an easy way to in flutter how to navigate a new screen and back.
Screen navigation is the key part of the UI/UX for any Application. due to multiple functionality to navigate to screen A to screen B. and manage all screen to navigation.
Step: 1 Create a Flutter Project using Android Studio.
Table of Contents
Let’s Start on these tutorial first of you can create a flutter project using android studio. If you do not know how to create a brand new flutter project, then please check out. Creating Simple Flutter Application in Android Studio.
Step: 2 Create Two dart files HomeScreen and SecondScreen.
Now, create one folder inside the lib folder called simple_navigation and create two screens inside that folder.
- HomeScreen.dart
- SecondScreen.dart
after complete, this step open you HomeScreen.dart file and add these code.
Step: 3 Add this code in HomeScreen.dart file.
On the home screen create a button on click on button go to the second screen. In Flutter, these elements are called routers, and they’re managed by a Navigator widget. The navigator leads a stack of Route objects and provides methods for controlling the stack, like Navigator.push and Navigator.pop.
import 'package:flutter/material.dart'; import './SecondScreen.dart'; class HomeScreen extends StatelessWidget { @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text('Home Screen'), ), body: Center( child: RaisedButton( child: Text('Go to Second Screen'), color: Theme.of(context).primaryColor, textColor: Colors.white, onPressed: () => Navigator.push( context, MaterialPageRoute( builder: (BuildContext context) => SecondScreen(), )))), ); } }
Step:4 SecondScreen.dart file source code.
import 'package:flutter/material.dart'; class SecondScreen extends StatelessWidget { @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text('Second Screen'), ), body: Center( child: RaisedButton( child: Text('Back To HomeScreen'), color: Theme.of(context).primaryColor, textColor: Colors.white, onPressed: () => Navigator.pop(context) ), ), ); } }
Step: 5 Main.dart file source code.
import "package:flutter/material.dart"; import './app_example/home_widget.dart'; import './simple_navigation/HomeScreen.dart'; void main() => runApp(MyApp()); //class App extends StatelessWidget { // @override // Widget build(BuildContext context) { // return MaterialApp( // title: 'My Flutter App', // home: Home(), // ); // } class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( theme: ThemeData(primarySwatch: Colors.blue), home: HomeScreen()); } }
after complete, this step run your application if your application and check you flutter navigation example.