ModalRoute<T> class Null safety

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
Mixed in types
Implementers

Constructors

ModalRoute({RouteSettings? settings, ImageFilter? filter})
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-onlyoverride
barrierColor Color?
The color to use for the modal barrier. If this is null, the barrier will be transparent.
read-only
barrierCurve Curve
The curve that is used for animating the modal barrier in and out.
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
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-onlyinherited
controller AnimationController?
The animation controller that the route uses to drive the transitions.
protected">@protectedread-onlyinherited
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-onlyinherited
debugLabel String
A short description of this route useful for debugging.
read-onlyinherited
filter ImageFilter?
The filter to add to the barrier.
final
finishedWhenPopped bool
Controls whether didPop calls NavigatorState.finalizeRoute.
read-onlyinherited
hasActiveRouteBelow bool
Whether there is at least one active route underneath this route.
protected">@protectedread-onlyinherited
hashCode int
The hash code for this object.
read-onlyinherited
hasScopedWillPopCallback bool
True if one or more WillPopCallback callbacks exist.
protected">@protectedread-only
impliesAppBarDismissal bool
Whether an AppBar in the route should automatically add a back button or close button.
read-only
isActive bool
Whether this route is on the navigator.
read-onlyinherited
isCurrent bool
Whether this route is the top-most route on the navigator.
read-onlyinherited
isFirst bool
Whether this route is the bottom-most active route on the navigator.
read-onlyinherited
maintainState bool
Whether the route should remain in memory when it is inactive.
read-only
The navigator that the route is in, if any.
read-onlyinherited
offstage bool
Whether this route is currently offstage.
read / write
opaque bool
Whether the route obscures previous routes when the transition is complete.
read-onlyinherited
overlayEntries List<OverlayEntry>
The overlay entries of this route.
read-onlyinherited
popped Future<T?>
A future that completes when this route is popped off the navigator.
read-onlyinherited
preferRasterization bool
Whether the route transition will prefer to animate a rasterized snapshot of the entering/exiting routes.
read-onlyinherited
restorationScopeId ValueListenable<String?>
The restoration scope ID to be used for the RestorationScope surrounding this route.
read-onlyinherited
reverseTransitionDuration Duration
The duration the transition going in reverse.
read-onlyinherited
runtimeType Type
A representation of the runtime type of the object.
read-onlyinherited
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 route pushed on top of this route.
read-onlyoverride
semanticsDismissible bool
Whether the semantics of the modal barrier are included in the semantics tree.
read-only
settings RouteSettings
The settings for this route.
read-onlyinherited
subtreeContext BuildContext?
The build context for the subtree containing the primary content of this route.
read-only
transitionDuration Duration
The duration the transition going forwards.
read-onlyinherited
willDisposeAnimationController bool
Whether to takeover the controller created by createAnimationController.
read / writeinherited
willHandlePopInternally bool
Whether calling didPop would return false.
read-onlyinherited

Methods

addLocalHistoryEntry(LocalHistoryEntry entry) → void
Adds a local history entry to this route.
inherited
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.
canTransitionFrom(TransitionRoute previousRoute) bool
Returns true if previousRoute should animate when this route is pushed on top of it or when then this route is popped off of it.
inherited
canTransitionTo(TransitionRoute nextRoute) bool
Returns true if this route supports a transition animation that runs when nextRoute is pushed on top of it or when nextRoute is popped off of it.
inherited
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.
override
changedInternalState() → void
Called whenever the internal state of the route has changed.
override
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
createOverlayEntries() Iterable<OverlayEntry>
Subclasses should override this getter to return the builders for the overlay.
override
didAdd() → void
Called after install when the route is added to the navigator.
override
didChangeNext(Route? nextRoute) → void
This route's next route has changed to the given new route.
inherited
didChangePrevious(Route? previousRoute) → void
This route's previous route has changed to the given new route.
override
didComplete(T? result) → void
The route was popped or is otherwise being removed somewhat gracefully.
mustCallSuper">@mustCallSuperprotected">@protectedinherited
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.
inherited
didPopNext(Route nextRoute) → void
The given route, which was above this one, has been popped off the navigator.
inherited
didPush() TickerFuture
Called after install when the route is pushed onto the navigator.
override
didReplace(Route? oldRoute) → void
Called after install when the route replaced another in the navigator.
inherited
dispose() → void
Discards any resources used by the object.
inherited
install() → void
Called when the route is inserted into the navigator.
override
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
removeScopedWillPopCallback(WillPopCallback callback) → void
Remove one of the callbacks run by willPop.
setState(VoidCallback fn) → void
Schedule a call to buildTransitions.
protected">@protected
toString() String
A string representation of this object.
override
willPop() Future<RoutePopDisposition>
Returns RoutePopDisposition.doNotPop if any of callbacks added with addScopedWillPopCallback returns either false or null. If they all return true, the base Route.willPop's result will be returned. The callbacks will be called in the order they were added, and will only be called if all previous callbacks returned true.
override

Operators

operator ==(Object 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">@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.