FocusScope class
Establishes a scope in which widgets can receive focus.
The focus tree keeps track of which widget is the user's current focus. The focused widget often listens for keyboard events.
A focus scope does not itself receive focus but instead helps remember previous focus states. A scope is currently active when its node is the first focus of its parent scope. To activate a FocusScope, either use the autofocus property or explicitly make the node the first focus in the parent scope:
FocusScope.of(context).setFirstFocus(node);
When a FocusScope is removed from the tree, the previously active FocusScope becomes active again.
See also:
- FocusScopeNode, which is the associated node in the focus tree.
- FocusNode, which is a leaf node in the focus tree that can receive focus.
- Inheritance
- Object
- Diagnosticable
- DiagnosticableTree
- Widget
- StatefulWidget
- FocusScope
Constructors
- FocusScope({Key key, @required FocusScopeNode node, bool autofocus: false, Widget child })
-
Creates a scope in which widgets can receive focus. [...]
const
Properties
- autofocus → bool
-
Whether this scope should attempt to become active when first added to
the tree.
final
- child → Widget
-
The widget below this widget in the tree. [...]
final
- node → FocusScopeNode
-
Controls whether this scope is currently active.
final
- hashCode → int
-
The hash code for this object. [...]
read-only, inherited
- key → Key
-
Controls how one widget replaces another widget in the tree. [...]
final, inherited
- runtimeType → Type
-
A representation of the runtime type of the object.
read-only, inherited
Methods
-
createState(
) → _FocusScopeState -
Creates the mutable state for this widget at a given location in the tree. [...]
override
-
createElement(
) → StatefulElement -
Creates a StatefulElement to manage this widget's location in the tree. [...]
inherited
-
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. [...]
inherited
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a non-existent method or property is accessed. [...]
inherited
-
toDiagnosticsNode(
{String name, DiagnosticsTreeStyle style }) → DiagnosticsNode -
Returns a debug representation of the object that is used by debugging
tools and by toStringDeep. [...]
inherited
-
toString(
{DiagnosticLevel minLevel: DiagnosticLevel.debug }) → String -
Returns a string representation of this object.
inherited
-
toStringDeep(
{String prefixLineOne: '', String prefixOtherLines, DiagnosticLevel minLevel: DiagnosticLevel.debug }) → String -
Returns a string representation of this node and its descendants. [...]
inherited
-
toStringShallow(
{String joiner: ', ', DiagnosticLevel minLevel: DiagnosticLevel.debug }) → String -
Returns a one-line detailed description of the object. [...]
inherited
-
toStringShort(
) → String -
A short, textual description of this widget.
inherited
Operators
-
operator ==(
dynamic other) → bool -
The equality operator. [...]
inherited
Static Methods
-
of(
BuildContext context) → FocusScopeNode - Returns the node of the FocusScope that most tightly encloses the given BuildContext.