VxEnsureVisibleWhenFocused class

Helper class that ensures a Widget is visible when it has the focus For example, for a TextFormField when the keyboard is displayed

How to use it:

In the class that implements the Form, Instantiate a FocusNode FocusNode _focusNode = new FocusNode();

In the build(BuildContext context), wrap the TextFormField as follows:

new VxEnsureVisibleWhenFocused( focusNode: _focusNode, child: new TextFormField( ... focusNode: _focusNode, ), ),

Initial source code written by Collin Jackson & taken from one of his repo. Extended (see highlighting) to cover the case when the keyboard is dismissed and the user clicks the TextFormField/TextField which still has the focus.

Inheritance
Available Extensions

Constructors

VxEnsureVisibleWhenFocused({Key key, @required Widget child, @required FocusNode focusNode, Curve curve = Curves.ease, Duration duration = const Duration(milliseconds: 100)})
const

Properties

child Widget
The child widget that we are wrapping
final
curve Curve
The curve we will use to scroll ourselves into view. [...]
final
duration Duration
The duration we will use to scroll ourselves into view [...]
final
focusNode FocusNode
The node we will monitor to determine if the child is focused
final
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
runtimeType Type
A representation of the runtime type of the object.
read-only, inherited

Methods

createElement() StatefulElement
Creates a StatefulElement to manage this widget's location in the tree. [...]
inherited
createState() → _VxEnsureVisibleWhenFocusedState
Creates the mutable state for this widget at a given location in the tree. [...]
override
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 DiagnosticsNode.toStringDeep. [...]
inherited
toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) String
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 ==(Object other) bool
The equality operator. [...]
@nonVirtual, inherited