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.
- Inheritance
- Object
- Route<T>
- OverlayRoute<T>
- TransitionRoute<T>
- ModalRoute
- Mixes-in
- LocalHistoryRoute<T>
Static Methods
-
of(
BuildContext context) → ModalRoute -
Returns the modal route most closely associated with the given context.
-
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.
Constructors
- ModalRoute({RouteSettings settings: const RouteSettings() })
-
Creates a route that blocks interaction with previous routes.
Properties
- animation → Animation<double>
-
read-only
- barrierColor → Color
-
The color to use for the modal barrier. If this is null, the barrier will be transparent.
read-only - barrierDismissable → bool
-
Whether you can dismiss this route by tapping the modal barrier.
read-only - focusKey → GlobalKey
-
read-only
- forwardAnimation → Animation<double>
-
read-only
- maintainState → bool
-
Whether the route should remain in memory when it is inactive. If this is true, then the route is maintained, so that any futures it is holding from the next route will properly resolve when the next route pops. If this is not necessary, this can be set to false to allow the framework to entirely discard the route's widget hierarchy when it is not visible.
read-only - offstage → bool
-
Whether this route is currently offstage.
read / write - settings → RouteSettings
-
The settings for this route.
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.
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
-
read-only, inherited
- hashCode → int
-
Get a 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 -
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 - transitionDuration → Duration
-
The duration the transition lasts.
read-only, inherited - willHandlePopInternally → bool
-
read-only, inherited
Operators
-
operator ==(
other) → bool -
The equality operator.
inherited
Methods
-
buildPage(
BuildContext context, Animation<double> animation, Animation<double> forwardAnimation) → Widget -
Override this method to build the primary content of this route.
-
buildTransitions(
BuildContext context, Animation<double> animation, Animation<double> forwardAnimation, Widget child) → Widget -
Override this method to wrap the route in a number of transition widgets.
-
createOverlayEntries(
) → Iterable<OverlayEntry> -
Subclasses should override this getter to return the builders for the overlay.
-
didPopNext(
Route nextRoute) → void -
The given route, which came after this one, has been popped off the navigator.
-
didPush(
) → void -
Called after install() when the route is pushed onto the navigator.
-
install(
OverlayEntry insertionPoint) → void -
Called when the route is inserted into the navigator.
-
setState(
VoidCallback fn) → void -
Whenever you need to change internal state for a ModalRoute object, make the change in a function that you pass to setState(), as in:
-
toString(
) → String -
Returns a string representation of this object.
-
addLocalHistoryEntry(
LocalHistoryEntry entry) → void -
Adds a local history entry to this route.
inherited -
canTransitionFrom(
TransitionRoute nextRoute) → 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, except for cases when didPopNext() would be called, so long as it is in the history. nextRoute will be null if there's no next route.
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. Returning false will prevent the default behavior of NavigatorState.pop().
inherited -
didReplace(
Route oldRoute) → void -
Called after install() when the route replaced another in the navigator.
inherited -
dispose(
) → void -
The route should remove its overlays and free any other resources.
inherited -
finished(
) → void -
Clears out the overlay entries.
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 -
startPopGesture(
→ NavigationGestureController ) -
If the route's transition can be popped via a user gesture (e.g. the iOS back gesture), this should return a controller object that can be used to control the transition animation's progress. Otherwise, it should return null.
inherited