// Copyright 2020, the Flutter project authors. Please see the AUTHORS file // for details. All rights reserved. Use of this source code is governed by a // BSD-style license that can be found in the LICENSE file. /// Shows how to use define named routes via the `routes` parameter on /// MaterialApp, and navigate using Navigator.pushNamed. library named_routes; import 'package:flutter/material.dart'; void main() { runApp(const Nav2App()); } class Nav2App extends StatelessWidget { const Nav2App({Key? key}) : super(key: key); @override Widget build(BuildContext context) { return MaterialApp( routes: { '/': (context) => const HomeScreen(), '/details': (context) => const DetailScreen(), }, ); } } class HomeScreen extends StatelessWidget { const HomeScreen({Key? key}) : super(key: key); @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar(), body: Center( child: TextButton( child: const Text('View Details'), onPressed: () { Navigator.pushNamed( context, '/details', ); }, ), ), ); } } class DetailScreen extends StatelessWidget { const DetailScreen({Key? key}) : super(key: key); @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar(), body: Center( child: TextButton( child: const Text('Pop!'), onPressed: () { Navigator.pop(context); }, ), ), ); } }