You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
samples/navigation_and_routing
Brett Morgan 6e9824dc12
flutter pub update & various fixes (#627)
4 years ago
..
android Add navigator 2 samples (#606) 4 years ago
ios Add navigator 2 samples (#606) 4 years ago
lib Add navigator 2 samples (#606) 4 years ago
.gitignore Add navigator 2 samples (#606) 4 years ago
.metadata Add navigator 2 samples (#606) 4 years ago
README.md format navigation_and_routing README (#624) 4 years ago
pubspec.lock flutter pub update & various fixes (#627) 4 years ago
pubspec.yaml flutter pub update & various fixes (#627) 4 years ago

README.md

Navigation and Routing sample code

Sample code for Learning Flutter's New Navigation and Routing System, an article explaining Navigator 2.0.

Samples

Navigator 1.0 samples

  • 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 - Shows how to use define named routes via the routes parameter on MaterialApp, and navigate using Navigator.pushNamed
  • 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 - Shows how to define a list of [Page] objects on Navigator declaratively.
  • 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 - 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 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:

flutter run lib/nav_2/router.dart