CupertinoPageRoute<T> class

A modal route that replaces the entire screen with an iOS transition.

The page slides in from the right and exits in reverse. The page also shifts to the left in parallax when another page enters to cover it.

The page slides in from the bottom and exits in reverse with no parallax effect for fullscreen dialogs.

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.

The type T specifies the return type of the route which can be supplied as the route is popped from the stack via Navigator.pop when an optional result can be provided.

See also:

Inheritance

Constructors

CupertinoPageRoute({@required WidgetBuilder builder, String title, RouteSettings settings, bool maintainState: true, bool fullscreenDialog: false })
Creates a page route for use in an iOS designed app. [...]

Properties

barrierColor Color
The color to use for the modal barrier. If this is null, the barrier will be transparent. [...]
read-only, override
barrierLabel String
The semantic label used for a dismissible barrier. [...]
read-only, override
builder WidgetBuilder
Builds the primary contents of the route.
final
debugLabel String
A short description of this route useful for debugging.
read-only, override
maintainState bool
Whether the route should remain in memory when it is inactive. [...]
final
popGestureEnabled bool
Whether a pop gesture can be started by the user. [...]
read-only
popGestureInProgress bool
True if a Cupertino pop gesture is currently underway for this route. [...]
read-only
previousTitle ValueListenable<String>
The title string of the previous CupertinoPageRoute. [...]
read-only
title String
A title string for this route. [...]
final
transitionDuration Duration
The duration the transition lasts.
read-only, override
animation Animation<double>
The animation that drives the route's transition and the previous route's forward transition.
read-only, inherited
barrierDismissible bool
Whether you can dismiss this route by tapping the modal barrier. [...]
read-only, inherited
canPop bool
Whether this route can be popped. [...]
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. [...]
@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
finishedWhenPopped bool
Controls whether didPop calls NavigatorState.finalizeRoute. [...]
read-only, inherited
focusScopeNode FocusScopeNode
The node this route will use for its root FocusScope widget.
final, inherited
fullscreenDialog bool
Whether this page route is a full-screen dialog. [...]
final, inherited
hashCode int
The hash code for this object. [...]
read-only, inherited
hasScopedWillPopCallback bool
True if one or more WillPopCallback callbacks exist. [...]
@protected, 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
offstage bool
Whether this route is currently offstage. [...]
read / write, 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
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, inherited
semanticsDismissible bool
Whether the semantics of the modal barrier are included in the semantics tree. [...]
read-only, inherited
settings RouteSettings
The settings for this route. [...]
final, inherited
subtreeContext BuildContext
The build context for the subtree containing the primary content of this route.
read-only, inherited
willHandlePopInternally bool
Whether calling didPop would return false.
read-only, inherited

Methods

buildPage(BuildContext context, Animation<double> animation, Animation<double> secondaryAnimation) Widget
Override this method to build the primary content of this route. [...]
override
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. [...]
override
canTransitionFrom(TransitionRoute previousRoute) bool
Whether this route can perform a transition from the given route. [...]
override
canTransitionTo(TransitionRoute nextRoute) bool
Whether this route can perform a transition to the given route. [...]
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
dispose() → void
The route should remove its overlays and free any other resources. [...]
override
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. [...]
inherited
changedExternalState() → void
Called whenever the Navigator has its widget rebuilt, to indicate that the route may wish to rebuild as well. [...]
inherited
changedInternalState() → void
Called whenever the internal state of the route has changed. [...]
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, 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
didPush() TickerFuture
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
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
removeScopedWillPopCallback(WillPopCallback callback) → void
Remove one of the callbacks run by willPop. [...]
inherited
setState(VoidCallback fn) → void
Schedule a call to buildTransitions. [...]
@protected, inherited
toString() String
Returns a string representation of this object.
inherited
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). [...]
inherited

Operators

operator ==(dynamic other) bool
The equality operator. [...]
inherited

Static Methods

buildPageTransitions<T>(PageRoute<T> route, BuildContext context, Animation<double> animation, Animation<double> secondaryAnimation, Widget child) Widget
Returns a CupertinoFullscreenDialogTransition if route is a full screen dialog, otherwise a CupertinoPageTransition is returned. [...]
isPopGestureInProgress(PageRoute route) bool
True if a Cupertino pop gesture is currently underway for route. [...]