FocusTraversalOrder class Null safety

An inherited widget that describes the order in which its child subtree should be traversed.

Only orders of the same type are comparable. If a set of widgets in the same FocusTraversalGroup contains orders that are not comparable with each other, it will assert, since the ordering between such keys is undefined. To avoid collisions, use a FocusTraversalGroup to group similarly ordered widgets together.

When overriding, FocusOrder.doCompare must be overridden instead of FocusOrder.compareTo, which calls FocusOrder.doCompare to do the actual comparison.

The order for a widget is determined by the FocusOrder returned by FocusTraversalOrder.of for a particular context.



FocusTraversalOrder({Key? key, required FocusOrder order, required Widget child})
Creates an inherited widget used to describe the focus order of the child subtree.


child Widget
The widget below this widget in the tree.
final, inherited
hashCode int
The hash code for this object.
@nonVirtual, read-only, inherited
key Key?
Controls how one widget replaces another widget in the tree.
final, inherited
order FocusOrder
The order for the widget descendants of this FocusTraversalOrder.
runtimeType Type
A representation of the runtime type of the object.
read-only, inherited


createElement() InheritedElement
Inflates this configuration to a concrete instance.
debugDescribeChildren() List<DiagnosticsNode>
Returns a list of DiagnosticsNode objects describing this node's children.
@protected, inherited
debugFillProperties(DiagnosticPropertiesBuilder properties) → void
Add additional properties associated with the node.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a non-existent method or property is accessed.
toDiagnosticsNode({String? name, DiagnosticsTreeStyle? style}) DiagnosticsNode
Returns a debug representation of the object that is used by debugging tools and by DiagnosticsNode.toStringDeep.
toString({DiagnosticLevel minLevel =}) String
A string representation of this object.
toStringDeep({String prefixLineOne = '', String? prefixOtherLines, DiagnosticLevel minLevel = DiagnosticLevel.debug}) String
Returns a string representation of this node and its descendants.
toStringShallow({String joiner = ', ', DiagnosticLevel minLevel = DiagnosticLevel.debug}) String
Returns a one-line detailed description of the object.
toStringShort() String
A short, textual description of this widget.
updateShouldNotify(covariant InheritedWidget oldWidget) bool
Whether the framework should notify widgets that inherit from this widget.


operator ==(Object other) bool
The equality operator.
@nonVirtual, inherited

Static Methods

maybeOf(BuildContext context) FocusOrder?
Finds the FocusOrder in the nearest ancestor FocusTraversalOrder widget.
of(BuildContext context) FocusOrder
Finds the FocusOrder in the nearest ancestor FocusTraversalOrder widget.