# Navigation and Routing sample code Sample code for [Learning Flutter's New Navigation and Routing System][article], an article explaining Navigator 2.0. ## Samples **Navigator 1.0 samples** * [nav_1/anonymous_routes.dart](lib/nav_1/anonymous_routes.dart) - Shows how to use a Navigator to push and pop anonymous routes (e.g. MaterialPageRoute) * [nav_1/named_routes.dart](lib/nav_1/named_routes.dart) - Shows how to use define named routes via the `routes` parameter on MaterialApp, and navigate using Navigator.pushNamed * [nav_1/on_generate_route.dart](lib/nav_1/on_generate_route.dart) - Shows how to handle arbitrary named routes using the `onGenerateRoute` callback defined in the `MaterialApp` constructor. **Navigator 2.0 samples** * [nav_2/pages.dart](lib/nav_2/pages.dart) - Shows how to define a list of [Page] objects on Navigator declaratively. * [nav_2/router.dart](lib/nav_2/router.dart) - Full sample that shows a custom RouteInformationParser and RouterDelegate parsing named routes and declaratively building the stack of pages for the Navigator. **Advanced** * [nav_2_advanced/nested_router.dart](lib/nav_2_advanced/nested_router.dart) - Shows two [RouterDelegate], one nested within the other. A [BottomNavigationBar] can be used to select the route of the outer RouterDelegate, and additional routes can be pushed onto the inner RouterDelegate / Navigator. * [nav_2_advanced/transition_delegate.dart](lib/nav_2_advanced/transition_delegate.dart) Shows how a custom TransitionDelegate can be used to customized when transition animations are shown. ## Running Each file in this project is an entrypoint. To run, specify the filename of the sample: ```bash flutter run lib/nav_2/router.dart ``` [article]: https://medium.com/flutter/learning-flutters-new-navigation-and-routing-system-7c9068155ade