NavigationViewController class
Controls the state of a NavigationPane and NavigationView.
The selectedIndex property is the index of the currently selected navigation destination and the animation represents the current position of the pane's open/close state. The selected destination's index can be changed with selectDestinationByIndex.
A stateful widget that builds a NavigationPane or NavigationView can create a NavigationViewController and share it directly.
When the NavigationPane and NavigationView don't have a convenient stateful ancestor, a NavigationViewController can be shared by providing a NavigationViewController inherited widget.
- Inheritance
-
- Object
- ChangeNotifier
- NavigationViewController
Constructors
- Creates a controller for NavigationPane and NavigationView.
Properties
-
animation
→ Animation<
double> ? -
An animation whose value represents the current position of the NavigationPane's
open/close state.
no setter
- animationController → AnimationController
-
The underlying AnimationController used for pane animations.
no setter
- animationDuration → Duration
-
Controls the duration of pane open/close animations.
no setter
- canGoBack → bool
-
Checks if there's navigation history available to go back to.
no setter
- currentSelection → String?
-
Gets the current selection as a string representation.
no setter
- destinationType → DestinationTypes
-
Defines how destinations are selected and managed.
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- hasListeners → bool
-
Whether any listeners are currently registered.
no setterinherited
- historyLength → int
-
Gets the number of destinations in the navigation history.
no setter
- isAnimating → bool
-
Whether the pane is currently animating between open and closed states.
no setter
- isPaneOpen → bool
-
Whether the pane is currently open.
no setter
- lastVisitedIndex → int?
-
Gets the last visited index from the navigation history.
no setter
- lastVisitedPath → String?
-
Gets the last visited path from the navigation history.
no setter
- length → int
-
The total number of navigable destinations.
final
-
Gets the complete navigation history as a unified list.
no setter
- offset ↔ double
-
The current offset of the pane animation.
getter/setter pair
- onDestinationIndex → DestinationSelectedIndex?
-
Callback that is called when a destination is selected.
final
- onDestinationPath → DestinationSelectedPath?
-
Callback that is called when a destination is selected.
final
- previousIndex → int?
-
The index of the previously selected navigation destination.
no setter
-
previousIndices
→ List<
int> -
The list of previously visited navigation indices.
no setter
-
previousPaths
→ List<
String> -
The list of previously visited navigation paths.
no setter
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- selectedIndex ↔ int?
-
The index of the currently selected navigation destination.
getter/setter pair
- selectedPath → String?
-
The path of the currently selected navigation destination.
no setter
Methods
-
addListener(
VoidCallback listener) → void -
Register a closure to be called when the object changes.
inherited
-
clearHistory(
) → void - Clears the navigation history without changing the current selection.
-
close(
{Duration? duration, Curve curve = Curves.easeInOut}) → void - Closes the navigation pane with an animation.
-
containsIndexInHistory(
int index) → bool - Checks if a specific index exists in the navigation history.
-
containsPathInHistory(
String path) → bool - Checks if a specific path exists in the navigation history.
-
createDestinationPathTapCallback(
String path) → VoidCallback? - Creates a callback for when a destination with the given path is tapped. Only available when destinationType is DestinationTypes.byPath.
-
createDestinationTapCallback(
int index) → VoidCallback? - Creates a callback for when a destination at the given index is tapped. Only available when destinationType is DestinationTypes.byIndex.
-
dispose(
) → void -
Discards any resources used by the object.
override
-
fling(
{double velocity = 1.0}) → void - Flings the pane open or closed based on the given velocity.
-
getDestinationAnimation(
int index) → Animation< double> - Gets the selection animation for a specific destination index.
-
getIndexHistoryAt(
int position) → int? - Gets an index from the history at the specified position.
-
getPathHistoryAt(
int position) → String? - Gets a path from the history at the specified position.
-
goBack(
) → bool - Navigates back to the previous destination in the history.
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
notifyListeners(
) → void -
Call all the registered listeners.
inherited
-
open(
{Duration? duration, Curve curve = Curves.easeInOut}) → void - Opens the navigation pane with an animation.
-
removeIndexFromHistory(
int index) → bool - Removes a specific index from the navigation history.
-
removeListener(
VoidCallback listener) → void -
Remove a previously registered closure from the list of closures that are
notified when the object changes.
inherited
-
removePathFromHistory(
String path) → bool - Removes a specific path from the navigation history.
-
reset(
) → void - Resets the controller to its initial state based on destinationType.
-
selectDestinationByIndex(
int index) → void - Selects a navigation destination by index.
-
selectDestinationByPath(
String path) → void - Selects a navigation destination by path.
-
snapClosed(
) → void - Immediately sets the pane to the closed state without animation.
-
snapOpen(
) → void - Immediately sets the pane to the open state without animation.
-
toggle(
{Duration? duration, Curve curve = Curves.easeInOut}) → void - Toggles the navigation pane between open and closed states.
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited