TextInputStatefulWidget class abstract

Abstract base class for stateful text input widgets.

Combines StatefulWidget with TextInput mixin to provide a base for implementing text input components with state.

Inheritance
Mixed-in types
Implementers
Available extensions

Constructors

TextInputStatefulWidget({Key? key, Object groupId = EditableText, TextEditingController? controller, FocusNode? focusNode, BoxDecoration? decoration, EdgeInsetsGeometry? padding, Widget? placeholder, CrossAxisAlignment crossAxisAlignment = CrossAxisAlignment.center, String? clearButtonSemanticLabel, TextInputType? keyboardType, TextInputAction? textInputAction, TextCapitalization textCapitalization = TextCapitalization.none, TextStyle? style, StrutStyle? strutStyle, TextAlign textAlign = TextAlign.start, TextAlignVertical? textAlignVertical, TextDirection? textDirection, bool readOnly = false, bool? showCursor, bool autofocus = false, String obscuringCharacter = '•', bool obscureText = false, bool autocorrect = true, SmartDashesType smartDashesType = SmartDashesType.enabled, SmartQuotesType smartQuotesType = SmartQuotesType.enabled, bool enableSuggestions = true, int? maxLines = 1, int? minLines, bool expands = false, int? maxLength, MaxLengthEnforcement? maxLengthEnforcement, ValueChanged<String>? onChanged, VoidCallback? onEditingComplete, ValueChanged<String>? onSubmitted, TapRegionCallback? onTapOutside, TapRegionCallback? onTapUpOutside, List<TextInputFormatter>? inputFormatters, bool enabled = true, double cursorWidth = 2.0, double? cursorHeight, Radius cursorRadius = const Radius.circular(2.0), bool cursorOpacityAnimates = true, Color? cursorColor, BoxHeightStyle selectionHeightStyle = ui.BoxHeightStyle.tight, BoxWidthStyle selectionWidthStyle = ui.BoxWidthStyle.tight, Brightness? keyboardAppearance, EdgeInsets scrollPadding = const EdgeInsets.all(20.0), bool enableInteractiveSelection = true, TextSelectionControls? selectionControls, DragStartBehavior dragStartBehavior = DragStartBehavior.start, ScrollController? scrollController, ScrollPhysics? scrollPhysics, GestureTapCallback? onTap, Iterable<String>? autofillHints = const [], Clip clipBehavior = Clip.hardEdge, String? restorationId, bool stylusHandwritingEnabled = EditableText.defaultStylusHandwritingEnabled, bool enableIMEPersonalizedLearning = true, ContentInsertionConfiguration? contentInsertionConfiguration, EditableTextContextMenuBuilder? contextMenuBuilder, String? initialValue, String? hintText, Border? border, BorderRadiusGeometry? borderRadius, bool? filled, WidgetStatesController? statesController, TextMagnifierConfiguration? magnifierConfiguration, SpellCheckConfiguration? spellCheckConfiguration, UndoHistoryController? undoController, List<InputFeature> features = const [], List<TextInputFormatter>? submitFormatters = const [], bool skipInputFeatureFocusTraversal = false})
Creates a stateful text input widget with comprehensive configuration options.
const

Properties

asBuilder NeverWidgetBuilder

Available on Widget, provided by the WidgetExtension extension

Converts this widget to a builder function.
no setter
autocorrect bool
Whether to enable autocorrection.
final
autofillHints Iterable<String>?
Autofill hints for the platform.
final
autofocus bool
Whether to auto-focus on mount.
final
base TextModifier

Available on Widget, provided by the TextExtension extension

Applies base (default) font size.
no setter
black TextModifier

Available on Widget, provided by the TextExtension extension

Applies black font weight (900).
no setter
blockQuote TextModifier

Available on Widget, provided by the TextExtension extension

Applies block quote style with left border.
no setter
bold TextModifier

Available on Widget, provided by the TextExtension extension

Applies bold font weight (700).
no setter
border Border?
Border styling.
final
borderRadius BorderRadiusGeometry?
Border radius.
final
clearButtonSemanticLabel String?
Semantic label for the clear button.
final
clipBehavior Clip
Clip behavior.
final
contentInsertionConfiguration ContentInsertionConfiguration?
Content insertion configuration.
final
contextMenuBuilder EditableTextContextMenuBuilder?
Context menu builder.
final
controller TextEditingController?
Text editing controller for the input.
final
crossAxisAlignment CrossAxisAlignment
Cross-axis alignment for content.
final
cursorColor Color?
Color of the cursor.
final
cursorHeight double?
Height of the cursor.
final
cursorOpacityAnimates bool
Whether cursor opacity animates.
final
cursorRadius Radius
Radius of the cursor.
final
cursorWidth double
Width of the cursor.
final
decoration BoxDecoration?
Box decoration for the input container.
final
dragStartBehavior DragStartBehavior
Drag start behavior.
final
ellipsis TextModifier

Available on Widget, provided by the TextExtension extension

Applies ellipsis overflow to text.
no setter
enabled bool
Whether the input is enabled.
final
enableIMEPersonalizedLearning bool
Whether IME personalized learning is enabled.
final
enableInteractiveSelection bool
Whether interactive selection is enabled.
final
enableSuggestions bool
Whether to enable suggestions.
final
expands bool
Whether the input should expand to fill available space.
final
extraBold TextModifier

Available on Widget, provided by the TextExtension extension

Applies extra-bold font weight (800).
no setter
extraLight TextModifier

Available on Widget, provided by the TextExtension extension

Applies extra-light font weight (200).
no setter
features List<InputFeature>
List of input features.
final
filled bool?
Whether the input has a filled background.
final
firstP TextModifier

Available on Widget, provided by the TextExtension extension

Applies paragraph style for the first paragraph (no top spacing).
no setter
focusNode FocusNode?
Focus node for keyboard focus management.
final
foreground TextModifier

Available on Widget, provided by the TextExtension extension

Applies standard foreground color.
no setter
groupId Object
Group identifier for related text inputs.
final
h1 TextModifier

Available on Widget, provided by the TextExtension extension

Applies heading 1 style.
no setter
h2 TextModifier

Available on Widget, provided by the TextExtension extension

Applies heading 2 style with bottom border.
no setter
h3 TextModifier

Available on Widget, provided by the TextExtension extension

Applies heading 3 style.
no setter
h4 TextModifier

Available on Widget, provided by the TextExtension extension

Applies heading 4 style.
no setter
hashCode int
The hash code for this object.
no setterinherited
hintText String?
Hint text displayed when empty.
final
iconDestructiveForeground WrappedIcon

Available on Widget, provided by the IconExtension extension

Wraps the icon with destructive foreground color.
no setter
iconLarge WrappedIcon

Available on Widget, provided by the IconExtension extension

Wraps the icon with large size theme.
no setter
iconMedium WrappedIcon

Available on Widget, provided by the IconExtension extension

Wraps the icon with medium size theme.
no setter
iconMutedForeground WrappedIcon

Available on Widget, provided by the IconExtension extension

Wraps the icon with muted foreground color.
no setter
iconPrimary WrappedIcon

Available on Widget, provided by the IconExtension extension

Wraps the icon with primary color.
no setter
iconPrimaryForeground WrappedIcon

Available on Widget, provided by the IconExtension extension

Wraps the icon with primary foreground color.
no setter
iconSecondary WrappedIcon

Available on Widget, provided by the IconExtension extension

Wraps the icon with secondary color.
no setter
iconSecondaryForeground WrappedIcon

Available on Widget, provided by the IconExtension extension

Wraps the icon with secondary foreground color.
no setter
iconSmall WrappedIcon

Available on Widget, provided by the IconExtension extension

Wraps the icon with small size theme.
no setter
iconX2Large WrappedIcon

Available on Widget, provided by the IconExtension extension

Wraps the icon with extra-extra large size theme.
no setter
iconX2Small WrappedIcon

Available on Widget, provided by the IconExtension extension

Wraps the icon with extra-extra small size theme.
no setter
iconX3Large WrappedIcon

Available on Widget, provided by the IconExtension extension

Wraps the icon with extra-extra-extra large size theme.
no setter
iconX3Small WrappedIcon

Available on Widget, provided by the IconExtension extension

Wraps the icon with extra-extra-extra small size theme.
no setter
iconX4Large WrappedIcon

Available on Widget, provided by the IconExtension extension

Wraps the icon with extra-extra-extra-extra large size theme.
no setter
iconX4Small WrappedIcon

Available on Widget, provided by the IconExtension extension

Wraps the icon with extra-extra-extra-extra small size theme.
no setter
iconXLarge WrappedIcon

Available on Widget, provided by the IconExtension extension

Wraps the icon with extra large size theme.
no setter
iconXSmall WrappedIcon

Available on Widget, provided by the IconExtension extension

Wraps the icon with extra small size theme.
no setter
initialValue String?
Initial value for the input.
final
inlineCode TextModifier

Available on Widget, provided by the TextExtension extension

Applies inline code style with background and padding.
no setter
inputFormatters List<TextInputFormatter>?
Input formatters for text.
final
italic TextModifier

Available on Widget, provided by the TextExtension extension

Applies italic font style.
no setter
key Key?
Controls how one widget replaces another widget in the tree.
finalinherited
keyboardAppearance Brightness?
Keyboard appearance brightness.
final
keyboardType TextInputType?
Type of keyboard to show.
final
large TextModifier

Available on Widget, provided by the TextExtension extension

Applies large font size.
no setter
lead TextModifier

Available on Widget, provided by the TextExtension extension

Applies lead paragraph style with muted color.
no setter
li TextModifier

Available on Widget, provided by the TextExtension extension

Applies list item style with bullet point.
no setter
light TextModifier

Available on Widget, provided by the TextExtension extension

Applies light font weight (300).
no setter
magnifierConfiguration TextMagnifierConfiguration?
Magnifier configuration.
final
maxLength int?
Maximum character length.
final
maxLengthEnforcement MaxLengthEnforcement?
How to enforce max length.
final
maxLines int?
Maximum number of lines.
final
medium TextModifier

Available on Widget, provided by the TextExtension extension

Applies medium font weight (500).
no setter
minLines int?
Minimum number of lines.
final
modify TextModifier

Available on Widget, provided by the TextExtension extension

Applies primary foreground color modifier.
no setter
mono TextModifier

Available on Widget, provided by the TextExtension extension

Applies monospace font family.
no setter
muted TextModifier

Available on Widget, provided by the TextExtension extension

Applies muted foreground color.
no setter
normal TextModifier

Available on Widget, provided by the TextExtension extension

Applies normal font weight (400).
no setter
obscureText bool
Whether to obscure text (password fields).
final
obscuringCharacter String
Character used for obscuring text.
final
onChanged ValueChanged<String>?
Callback when text changes.
final
onEditingComplete VoidCallback?
Callback when editing is complete.
final
onSubmitted ValueChanged<String>?
Callback when text is submitted.
final
onTap VoidCallback?
Callback when tapped.
final
onTapOutside TapRegionCallback?
Callback when tapped outside.
final
onTapUpOutside TapRegionCallback?
Callback when tap up occurs outside.
final
p TextModifier

Available on Widget, provided by the TextExtension extension

Applies paragraph style with top spacing.
no setter
padding EdgeInsetsGeometry?
Padding inside the input.
final
placeholder Widget?
Placeholder widget shown when empty.
final
primaryForeground TextModifier

Available on Widget, provided by the TextExtension extension

Applies primary foreground color.
no setter
readOnly bool
Whether the input is read-only.
final
restorationId String?
Restoration ID for state restoration.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
sans TextModifier

Available on Widget, provided by the TextExtension extension

Applies sans-serif font family.
no setter
scrollController ScrollController?
Scroll controller.
final
scrollPadding EdgeInsets
Scroll padding for keyboard avoidance.
final
scrollPhysics ScrollPhysics?
Scroll physics.
final
secondaryForeground TextModifier

Available on Widget, provided by the TextExtension extension

Applies secondary foreground color.
no setter
selectionControls TextSelectionControls?
Controls for text selection.
final
selectionHeightStyle BoxHeightStyle
Selection height style.
final
selectionWidthStyle BoxWidthStyle
Selection width style.
final
semiBold TextModifier

Available on Widget, provided by the TextExtension extension

Applies semi-bold font weight (600).
no setter
showCursor bool?
Whether to show the cursor.
final
singleLine TextModifier

Available on Widget, provided by the TextExtension extension

Constrains text to a single line without wrapping.
no setter
skipInputFeatureFocusTraversal bool
Whether to skip focus traversal for input features.
final
small TextModifier

Available on Widget, provided by the TextExtension extension

Applies small font size.
no setter
smartDashesType SmartDashesType
Smart dashes behavior.
final
smartQuotesType SmartQuotesType
Smart quotes behavior.
final
spellCheckConfiguration SpellCheckConfiguration?
Spell check configuration.
final
statesController WidgetStatesController?
Widget states controller.
final
strutStyle StrutStyle?
Strut style for text layout.
final
style TextStyle?
Text style for input content.
final
stylusHandwritingEnabled bool
Whether stylus handwriting is enabled.
final
submitFormatters List<TextInputFormatter>?
Input formatters applied on submit.
final
textAlign TextAlign
Horizontal text alignment.
final
textAlignVertical TextAlignVertical?
Vertical text alignment.
final
textCapitalization TextCapitalization
Text capitalization behavior.
final
textCenter TextModifier

Available on Widget, provided by the TextExtension extension

Centers text horizontally.
no setter
textDirection TextDirection?
Text direction.
final
textEnd TextModifier

Available on Widget, provided by the TextExtension extension

Aligns text to the end (right in LTR, left in RTL).
no setter
textInputAction TextInputAction?
Action button on the keyboard.
final
textJustify TextModifier

Available on Widget, provided by the TextExtension extension

Justifies text alignment.
no setter
textLarge TextModifier

Available on Widget, provided by the TextExtension extension

Applies large text style.
no setter
textLeft TextModifier

Available on Widget, provided by the TextExtension extension

Left-aligns text.
no setter
textMuted TextModifier

Available on Widget, provided by the TextExtension extension

Applies muted text style with muted color.
no setter
textRight TextModifier

Available on Widget, provided by the TextExtension extension

Right-aligns text.
no setter
textSmall TextModifier

Available on Widget, provided by the TextExtension extension

Applies small text style.
no setter
textStart TextModifier

Available on Widget, provided by the TextExtension extension

Aligns text to the start (left in LTR, right in RTL).
no setter
thin TextModifier

Available on Widget, provided by the TextExtension extension

Applies thin font weight (100).
no setter
underline TextModifier

Available on Widget, provided by the TextExtension extension

Applies underline text decoration.
no setter
undoController UndoHistoryController?
Undo history controller.
final
x2Large TextModifier

Available on Widget, provided by the TextExtension extension

Applies 2x large font size.
no setter
x3Large TextModifier

Available on Widget, provided by the TextExtension extension

Applies 3x large font size.
no setter
x4Large TextModifier

Available on Widget, provided by the TextExtension extension

Applies 4x large font size.
no setter
x5Large TextModifier

Available on Widget, provided by the TextExtension extension

Applies 5x large font size.
no setter
x6Large TextModifier

Available on Widget, provided by the TextExtension extension

Applies 6x large font size.
no setter
x7Large TextModifier

Available on Widget, provided by the TextExtension extension

Applies 7x large font size.
no setter
x8Large TextModifier

Available on Widget, provided by the TextExtension extension

Applies 8x large font size.
no setter
x9Large TextModifier

Available on Widget, provided by the TextExtension extension

Applies 9x large font size.
no setter
xLarge TextModifier

Available on Widget, provided by the TextExtension extension

Applies extra-large font size.
no setter
xSmall TextModifier

Available on Widget, provided by the TextExtension extension

Applies extra-small font size.
no setter

Methods

asSkeleton({bool enabled = true, bool leaf = false, Widget? replacement, bool unite = false, AsyncSnapshot? snapshot}) Widget

Available on Widget, provided by the SkeletonExtension extension

Converts the widget to a skeleton with advanced configuration options.
asSkeletonSliver({bool enabled = true}) Widget

Available on Widget, provided by the SkeletonExtension extension

Converts the widget to a skeleton suitable for sliver layouts.
center({Key? key}) Widget

Available on Widget, provided by the WidgetExtension extension

Centers this widget horizontally and vertically.
clip({Clip clipBehavior = Clip.hardEdge}) Widget

Available on Widget, provided by the WidgetExtension extension

Clips this widget to a rectangle.
clipOval({Clip clipBehavior = Clip.antiAlias}) Widget

Available on Widget, provided by the WidgetExtension extension

Clips this widget to an oval shape.
clipPath({Clip clipBehavior = Clip.antiAlias, required CustomClipper<Path> clipper}) Widget

Available on Widget, provided by the WidgetExtension extension

Clips this widget to a custom path.
clipRRect({BorderRadiusGeometry borderRadius = BorderRadius.zero, Clip clipBehavior = Clip.antiAlias}) Widget

Available on Widget, provided by the WidgetExtension extension

Clips this widget to a rounded rectangle.
constrained({double? minWidth, double? maxWidth, double? minHeight, double? maxHeight, double? width, double? height}) Widget

Available on Widget, provided by the WidgetExtension extension

Wraps this widget in a ConstrainedBox with specified constraints.
copyWith({ValueGetter<Key?>? key, ValueGetter<Object>? groupId, ValueGetter<TextEditingController?>? controller, ValueGetter<String?>? initialValue, ValueGetter<FocusNode?>? focusNode, ValueGetter<UndoHistoryController?>? undoController, ValueGetter<BoxDecoration?>? decoration, ValueGetter<EdgeInsetsGeometry?>? padding, ValueGetter<Widget?>? placeholder, ValueGetter<CrossAxisAlignment>? crossAxisAlignment, ValueGetter<String?>? clearButtonSemanticLabel, ValueGetter<TextInputType?>? keyboardType, ValueGetter<TextInputAction?>? textInputAction, ValueGetter<TextCapitalization>? textCapitalization, ValueGetter<TextStyle?>? style, ValueGetter<StrutStyle?>? strutStyle, ValueGetter<TextAlign>? textAlign, ValueGetter<TextAlignVertical?>? textAlignVertical, ValueGetter<TextDirection?>? textDirection, ValueGetter<bool>? readOnly, ValueGetter<bool?>? showCursor, ValueGetter<bool>? autofocus, ValueGetter<String>? obscuringCharacter, ValueGetter<bool>? obscureText, ValueGetter<bool>? autocorrect, ValueGetter<SmartDashesType>? smartDashesType, ValueGetter<SmartQuotesType>? smartQuotesType, ValueGetter<bool>? enableSuggestions, ValueGetter<int?>? maxLines, ValueGetter<int?>? minLines, ValueGetter<bool>? expands, ValueGetter<int?>? maxLength, ValueGetter<MaxLengthEnforcement?>? maxLengthEnforcement, ValueGetter<ValueChanged<String>?>? onChanged, ValueGetter<VoidCallback?>? onEditingComplete, ValueGetter<ValueChanged<String>?>? onSubmitted, ValueGetter<TapRegionCallback?>? onTapOutside, ValueGetter<TapRegionCallback?>? onTapUpOutside, ValueGetter<List<TextInputFormatter>?>? inputFormatters, ValueGetter<bool>? enabled, ValueGetter<double>? cursorWidth, ValueGetter<double?>? cursorHeight, ValueGetter<Radius>? cursorRadius, ValueGetter<bool>? cursorOpacityAnimates, ValueGetter<Color?>? cursorColor, ValueGetter<BoxHeightStyle>? selectionHeightStyle, ValueGetter<BoxWidthStyle>? selectionWidthStyle, ValueGetter<Brightness?>? keyboardAppearance, ValueGetter<EdgeInsets>? scrollPadding, ValueGetter<bool>? enableInteractiveSelection, ValueGetter<TextSelectionControls?>? selectionControls, ValueGetter<DragStartBehavior>? dragStartBehavior, ValueGetter<ScrollController?>? scrollController, ValueGetter<ScrollPhysics?>? scrollPhysics, ValueGetter<GestureTapCallback?>? onTap, ValueGetter<Iterable<String>?>? autofillHints, ValueGetter<Clip>? clipBehavior, ValueGetter<String?>? restorationId, ValueGetter<bool>? stylusHandwritingEnabled, ValueGetter<bool>? enableIMEPersonalizedLearning, ValueGetter<ContentInsertionConfiguration?>? contentInsertionConfiguration, ValueGetter<EditableTextContextMenuBuilder?>? contextMenuBuilder, ValueGetter<String?>? hintText, ValueGetter<Border?>? border, ValueGetter<BorderRadiusGeometry?>? borderRadius, ValueGetter<bool?>? filled, ValueGetter<WidgetStatesController?>? statesController, ValueGetter<TextMagnifierConfiguration?>? magnifierConfiguration, ValueGetter<SpellCheckConfiguration?>? spellCheckConfiguration, ValueGetter<List<InputFeature>>? features, ValueGetter<List<TextInputFormatter>?>? submitFormatters, ValueGetter<bool>? skipInputFeatureFocusTraversal}) TextField
Creates a copy of this text field with the given properties replaced.
createElement() StatefulElement
Creates a StatefulElement to manage this widget's location in the tree.
inherited
createState() State<StatefulWidget>
Creates the mutable state for this widget at a given location in the tree.
inherited
debugDescribeChildren() List<DiagnosticsNode>
Returns a list of DiagnosticsNode objects describing this node's children.
inherited
debugFillProperties(DiagnosticPropertiesBuilder properties) → void
Add additional properties associated with the node.
inherited
excludeSkeleton({bool exclude = true}) Widget

Available on Widget, provided by the SkeletonExtension extension

Controls whether the widget should be preserved in skeleton mode.
expanded({int flex = 1}) Widget

Available on Widget, provided by the WidgetExtension extension

Makes this widget expanded within a Flex parent (Row/Column).
ignoreSkeleton() Widget

Available on Widget, provided by the SkeletonExtension extension

Excludes the widget from skeleton effects in its parent skeleton context.
intrinsic({double? stepWidth, double? stepHeight}) Widget

Available on Widget, provided by the WidgetExtension extension

Sizes this widget to both intrinsic width and height.
intrinsicHeight() Widget

Available on Widget, provided by the WidgetExtension extension

Sizes this widget to its intrinsic height.
intrinsicWidth({double? stepWidth, double? stepHeight}) Widget

Available on Widget, provided by the WidgetExtension extension

Sizes this widget to its intrinsic width.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
positioned({Key? key, double? left, double? top, double? right, double? bottom}) Widget

Available on Widget, provided by the WidgetExtension extension

Positions this widget absolutely within a Stack.
sized({double? width, double? height, double? size}) Widget

Available on Widget, provided by the WidgetExtension extension

Wraps this widget in a SizedBox with specified dimensions.
then(InlineSpan span) Widget

Available on Widget, provided by the TextExtension extension

Appends an inline span to the current text widget.
thenButton({required VoidCallback onPressed, required Widget child}) Widget

Available on Widget, provided by the TextExtension extension

Appends a button widget to the current text widget.
thenInlineCode(String text) Widget

Available on Widget, provided by the TextExtension extension

Appends inline code to the current text widget.
thenText(String text) Widget

Available on Widget, provided by the TextExtension extension

Appends a text span to the current text widget.
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, int wrapWidth = 65}) 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
transform({Key? key, required Matrix4 transform}) Widget

Available on Widget, provided by the WidgetExtension extension

Applies a transformation matrix to this widget.
withAlign(AlignmentGeometry alignment) Widget

Available on Widget, provided by the WidgetExtension extension

Aligns this widget within its parent.
withOpacity(double opacity) Widget

Available on Widget, provided by the WidgetExtension extension

Applies opacity to this widget.
withPadding({double? top, double? bottom, double? left, double? right, double? horizontal, double? vertical, double? all, EdgeInsetsGeometry? padding}) Widget

Available on Widget, provided by the WidgetExtension extension

Wraps this widget in a Padding widget.

Operators

operator ==(Object other) bool
The equality operator.
inherited