A modal route that replaces the entire screen with a material design transition.

The entrance transition for the page slides the page upwards and fades it in. The exit transition is the same, but in reverse.

By default, when a modal route is replaced by another, the previous route remains in memory. To free all the resources when this is not necessary, set maintainState to false.

Inheritance

Constructors

MaterialPageRoute({WidgetBuilder builder, RouteSettings settings: const RouteSettings(), bool maintainState: true })

Creates a page route for use in a material design app.

Properties

barrierColor Color

read-only
builder WidgetBuilder

Builds the primary contents of the route.

read-only
debugLabel String

read-only
maintainState bool

read-only
transitionDuration Duration

read-only
animation Animation<double>

read-only, inherited
barrierDismissable bool

read-only, inherited
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
finishedWhenPopped bool

read-only, inherited
focusKey GlobalKey

read-only, inherited
forwardAnimation Animation<double>

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
offstage bool

Whether this route is currently offstage.

read / write, inherited
opaque bool

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.

read-only, inherited
subtreeContext BuildContext

The build context for the subtree containing the primary content of this route.

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.

canTransitionFrom(TransitionRoute nextRoute) bool

Whether this route can perform a transition from the given route.

dispose() → void

The route should remove its overlays and free any other resources.

startPopGesture(NavigatorState navigator) 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.

addLocalHistoryEntry(LocalHistoryEntry entry) → void

Adds a local history entry to this 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
createOverlayEntries() Iterable<OverlayEntry>

Subclasses should override this getter to return the builders for the overlay.

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
didPopNext(Route nextRoute) → void

The given route, which came after this one, has been popped off the navigator.

inherited
didPush() → void

Called after install() when the route is pushed onto the navigator.

inherited
didReplace(Route oldRoute) → void

Called after install() when the route replaced another in the navigator.

inherited
finished() → void

Clears out the overlay entries.

inherited
insertHeroOverlayEntry(OverlayEntry entry, Object tag, OverlayState overlay) → void

Subclasses can override this method to customize how heroes are inserted.

inherited
install(OverlayEntry insertionPoint) → void

Called when the route is inserted into 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
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:

inherited
toString() String

Returns a string representation of this object.

inherited