Route<T> class
abstract
An abstraction for an entry managed by a Navigator.
This class defines an abstract interface between the navigator and the "routes" that are pushed on and popped off the navigator. Most routes have visual affordances, which they place in the navigators Overlay using one or more OverlayEntry objects.
See Navigator for more explanation of how to use a Route with navigation, including code examples.
See MaterialPageRoute for a route that replaces the entire screen with a platform-adaptive transition.
A route can belong to a page if the settings are a subclass of Page. A page-based route, as opposed to a pageless route, is created from Page.createRoute during Navigator.pages updates. The page associated with this route may change during the lifetime of the route. If the Navigator updates the page of this route, it calls changedInternalState to notify the route that the page has been updated.
The type argument T
is the route's return type, as used by
currentResult, popped, and didPop. The type void
may be used if the
route does not return a value.
- Implementers
Constructors
- Route({RouteSettings? settings, bool? requestFocus})
- Initialize the Route.
Properties
- currentResult → T?
-
When this route is popped (see Navigator.pop) if the result isn't
specified or if it's null, this value will be used instead.
no setter
- hasActiveRouteBelow → bool
-
Whether there is at least one active route underneath this route.
no setter
- hashCode → int
-
The hash code for this object.
no setterinherited
- isActive → bool
-
Whether this route is on the navigator.
no setter
- isCurrent → bool
-
Whether this route is the top-most route on the navigator.
no setter
- isFirst → bool
-
Whether this route is the bottom-most active route on the navigator.
no setter
-
The navigator that the route is in, if any.
no setter
-
overlayEntries
→ List<
OverlayEntry> -
The overlay entries of this route.
no setter
- popDisposition → RoutePopDisposition
-
Returns whether calling Navigator.maybePop when this Route is current
(isCurrent) should do anything.
no setter
-
popped
→ Future<
T?> -
A future that completes when this route is popped off the navigator.
no setter
- requestFocus → bool
-
When the route state is updated, request focus if the current route is at the top.
no setter
-
restorationScopeId
→ ValueListenable<
String?> -
The restoration scope ID to be used for the RestorationScope surrounding
this route.
no setter
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- settings → RouteSettings
-
The settings for this route.
no setter
- willHandlePopInternally → bool
-
Whether calling didPop would return false.
no setter
Methods
-
changedExternalState(
) → void - Called whenever the Navigator has updated in some manner that might affect routes, to indicate that the route may wish to rebuild as well.
-
changedInternalState(
) → void - Called whenever the internal state of the route has changed.
-
didAdd(
) → void - Called after install when the route is added to the navigator.
-
didChangeNext(
Route? nextRoute) → void - This route's next route has changed to the given new route.
-
didChangePrevious(
Route? previousRoute) → void - This route's previous route has changed to the given new route.
-
didComplete(
T? result) → void - The route was popped or is otherwise being removed somewhat gracefully.
-
didPop(
T? result) → bool -
A request was made to pop this route. If the route can handle it
internally (e.g. because it has its own stack of internal state) then
return false, otherwise return true (by returning the value of calling
super.didPop
). Returning false will prevent the default behavior of NavigatorState.pop. -
didPopNext(
Route nextRoute) → void - The given route, which was above this one, has been popped off the navigator.
-
didPush(
) → TickerFuture - Called after install when the route is pushed onto the navigator.
-
didReplace(
Route? oldRoute) → void - Called after install when the route replaced another in the navigator.
-
dispose(
) → void - Discards any resources used by the object.
-
install(
) → void - Called when the route is inserted into the navigator.
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
onPopInvoked(
bool didPop) → void - Called after a route pop was handled.
-
onPopInvokedWithResult(
bool didPop, T? result) → void - Called after a route pop was handled.
-
toString(
) → String -
A string representation of this object.
inherited
-
willPop(
) → Future< RoutePopDisposition> - Returns whether calling Navigator.maybePop when this Route is current (isCurrent) should do anything.
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited