ModalRoute< T> class
A route that blocks interaction with previous routes.
ModalRoutes cover the entire Navigator. They are not necessarily opaque, however; for example, a pop-up menu uses a ModalRoute but only shows the menu in a small box overlapping the previous route.
The T
type argument is the return value of the route. If there is no
return value, consider using void
as the return value.
- Inheritance
- Object
- Route<
T> - OverlayRoute<
T> - TransitionRoute<
T> - ModalRoute
- Mixed in types
- Implementers
Constructors
- ModalRoute({RouteSettings settings })
- Creates a route that blocks interaction with previous routes.
Properties
-
animation
→ Animation<
double> -
The animation that drives the route's transition and the previous route's
forward transition.
read-only, override
- barrierColor → Color
-
The color to use for the modal barrier. If this is null, the barrier will
be transparent. [...]
read-only
- barrierDismissible → bool
-
Whether you can dismiss this route by tapping the modal barrier. [...]
read-only
- barrierLabel → String
-
The semantic label used for a dismissible barrier. [...]
read-only
- canPop → bool
-
Whether this route can be popped. [...]
read-only
- focusScopeNode → FocusScopeNode
-
The node this route will use for its root FocusScope widget.
final
- hasScopedWillPopCallback → bool
-
True if one or more WillPopCallback callbacks exist. [...]
@protected, read-only
- maintainState → bool
-
Whether the route should remain in memory when it is inactive. [...]
read-only
- offstage ↔ bool
-
Whether this route is currently offstage. [...]
read / write
-
secondaryAnimation
→ Animation<
double> -
The animation for the route being pushed on top of this route. This
animation lets this route coordinate with the entrance and exit transition
of routes pushed on top of this route.
read-only, override
- semanticsDismissible → bool
-
Whether the semantics of the modal barrier are included in the
semantics tree. [...]
read-only
- subtreeContext → BuildContext
-
The build context for the subtree containing the primary content of this route.
read-only
-
completed
→ Future<
T> -
This future completes only once the transition itself has finished, after
the overlay entries have been removed from the navigator's overlay. [...]
read-only, inherited
- controller → AnimationController
-
The animation controller that the route uses to drive the transitions. [...]
@protected, read-only, inherited
- 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.
read-only, inherited
- debugLabel → String
-
A short description of this route useful for debugging.
read-only, inherited
- finishedWhenPopped → bool
-
Controls whether didPop calls NavigatorState.finalizeRoute. [...]
read-only, inherited
- hashCode → int
-
The hash code for this object. [...]
read-only, inherited
- isActive → bool
-
Whether this route is on the navigator. [...]
read-only, inherited
- isCurrent → bool
-
Whether this route is the top-most route on the navigator. [...]
read-only, inherited
- isFirst → bool
-
Whether this route is the bottom-most route on the navigator. [...]
read-only, inherited
-
The navigator that the route is in, if any.
read-only, inherited
- opaque → bool
-
Whether the route obscures previous routes when the transition is complete. [...]
read-only, inherited
-
overlayEntries
→ List<
OverlayEntry> -
The entries this route has placed in the overlay.
read-only, inherited
-
popped
→ Future<
T> -
A future that completes when this route is popped off the navigator. [...]
read-only, inherited
- runtimeType → Type
-
A representation of the runtime type of the object.
read-only, inherited
- settings → RouteSettings
-
The settings for this route. [...]
final, inherited
- transitionDuration → Duration
-
The duration the transition lasts.
read-only, inherited
- willHandlePopInternally → bool
-
Whether calling didPop would return false.
read-only, inherited
Methods
-
addScopedWillPopCallback(
WillPopCallback callback) → void - Enables this route to veto attempts by the user to dismiss it. [...]
-
buildPage(
BuildContext context, Animation< double> animation, Animation< double> secondaryAnimation) → Widget - Override this method to build the primary content of this route. [...]
-
buildTransitions(
BuildContext context, Animation< double> animation, Animation< double> secondaryAnimation, Widget child) → Widget -
Override this method to wrap the
child
with one or more transition widgets that define how the route arrives on and leaves the screen. [...] -
changedExternalState(
) → void -
Called whenever the Navigator has its widget rebuilt, to indicate that
the route may wish to rebuild as well. [...]
override
-
changedInternalState(
) → void -
Called whenever the internal state of the route has changed. [...]
override
-
createOverlayEntries(
) → Iterable< OverlayEntry> -
Subclasses should override this getter to return the builders for the overlay.
override
-
didChangePrevious(
Route previousRoute) → void -
This route's previous route has changed to the given new route. This is
called on a route whenever the previous route changes for any reason, so
long as it is in the history.
previousRoute
will be null if there's no previous route.override -
didPush(
) → TickerFuture -
Called after install when the route is pushed onto the navigator. [...]
override
-
dispose(
) → void -
The route should remove its overlays and free any other resources. [...]
override
-
install(
OverlayEntry insertionPoint) → void -
Called when the route is inserted into the navigator. [...]
override
-
removeScopedWillPopCallback(
WillPopCallback callback) → void - Remove one of the callbacks run by willPop. [...]
-
setState(
VoidCallback fn) → void -
Schedule a call to buildTransitions. [...]
@protected
-
toString(
) → String -
Returns a string representation of this object.
override
-
willPop(
) → Future< RoutePopDisposition> -
Returns the value of the first callback added with
addScopedWillPopCallback that returns false. If they all return true,
returns the inherited method's result (see Route.willPop). [...]
override
-
addLocalHistoryEntry(
LocalHistoryEntry entry) → void -
Adds a local history entry to this route. [...]
inherited
-
canTransitionFrom(
TransitionRoute previousRoute) → bool -
Whether this route can perform a transition from the given route. [...]
inherited
-
canTransitionTo(
TransitionRoute nextRoute) → bool -
Whether this route can perform a transition to the given route. [...]
inherited
-
createAnimation(
) → Animation< double> -
Called to create the animation that exposes the current progress of
the transition controlled by the animation controller created by
createAnimationController().
inherited
-
createAnimationController(
) → AnimationController -
Called to create the animation controller that will drive the transitions to
this route from the previous one, and back to the previous route from this
one.
inherited
-
didChangeNext(
Route nextRoute) → void -
This route's next route has changed to the given new route. This is called
on a route whenever the next route changes for any reason, so long as it
is in the history, including when a route is first added to a Navigator
(e.g. by Navigator.push), except for cases when didPopNext would be
called.
nextRoute
will be null if there's no next route.inherited -
didComplete(
T result) → void -
The route was popped or is otherwise being removed somewhat gracefully. [...]
@mustCallSuper, @protected, inherited
-
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 return the value of calling
super.didPop
). Returning false will prevent the default behavior of NavigatorState.pop. [...]inherited -
didPopNext(
Route nextRoute) → void -
The given route, which was above this one, has been popped off the
navigator.
inherited
-
didReplace(
Route oldRoute) → void -
Called after install when the route replaced another in the navigator. [...]
inherited
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a non-existent method or property is accessed. [...]
inherited
-
removeLocalHistoryEntry(
LocalHistoryEntry entry) → void -
Remove a local history entry from this route. [...]
inherited
Operators
-
operator ==(
dynamic other) → bool -
The equality operator. [...]
inherited
Static Methods
-
of<
T extends Object>( BuildContext context) → ModalRoute< T> -
Returns the modal route most closely associated with the given context. [...]
@optionalTypeArgs
-
withName(
String name) → RoutePredicate - Returns a predicate that's true if the route has the specified name and if popping the route will not yield the same route, i.e. if the route's willHandlePopInternally property is false. [...]