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
- Object
- Route<T>
- OverlayRoute<T>
- TransitionRoute<T>
- ModalRoute<T>
- PageRoute<T>
- MaterialPageRoute
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(
→ 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