// 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 [Navigator] APIs to push and pop an anonymous /// route. In this case, it is an instance of [MaterialPageRoute]. library anonymous_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 const MaterialApp( home: HomeScreen(), ); } } 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.push( context, MaterialPageRoute(builder: (context) { return const DetailScreen(); }), ); }, ), ), ); } } 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); }, ), ), ); } }