AutoSizeTextField class

Flutter widget that automatically resizes text field to fit perfectly within its bounds.

All size constraints as well as maxLines are taken into account. If the text overflows anyway, you should check if the parent widget actually constraints the size of this widget.

Inheritance

Constructors

AutoSizeTextField({Key? key, bool fullwidth = true, Key? textFieldKey, TextStyle? style, StrutStyle? strutStyle, double minFontSize = 12, double maxFontSize = double.infinity, double stepGranularity = 1, List<double>? presetFontSizes, TextAlign textAlign = TextAlign.start, TextDirection? textDirection, Locale? locale, bool wrapWords = true, Widget? overflowReplacement, String? semanticsLabel, TextEditingController? controller, FocusNode? focusNode, InputDecoration decoration = const InputDecoration(), TextInputType? keyboardType, TextInputAction? textInputAction, TextCapitalization textCapitalization = TextCapitalization.none, TextAlignVertical? textAlignVertical, Iterable<String>? autofillHints, bool autofocus = false, bool obscureText = false, bool autocorrect = true, SmartDashesType? smartDashesType, SmartQuotesType? smartQuotesType, bool enableSuggestions = true, int? maxLines = 1, bool expands = false, bool readOnly = false, EditableTextContextMenuBuilder? contextMenuBuilder = _defaultContextMenuBuilder, bool? showCursor, int? maxLength, MaxLengthEnforcement? maxLengthEnforcement, ValueChanged<String>? onChanged, VoidCallback? onEditingComplete, ValueChanged<String>? onSubmitted, List<TextInputFormatter>? inputFormatters, bool? enabled, double? cursorHeight, double cursorWidth = 2.0, Radius? cursorRadius, Color? cursorColor, BoxHeightStyle selectionHeightStyle = ui.BoxHeightStyle.tight, BoxWidthStyle selectionWidthStyle = ui.BoxWidthStyle.tight, Brightness? keyboardAppearance, EdgeInsets scrollPadding = const EdgeInsets.all(20.0), DragStartBehavior dragStartBehavior = DragStartBehavior.start, bool enableInteractiveSelection = true, GestureTapCallback? onTap, InputCounterWidgetBuilder? buildCounter, ScrollPhysics? scrollPhysics, ScrollController? scrollController, int? minLines, double? minWidth, TextSelectionControls? selectionControls})
Creates a AutoSizeTextField widget.
const

Properties

autocorrect bool
Whether to enable autocorrection.
final
autofillHints Iterable<String>?
A list of strings that helps the autofill service identify the type of this text input.
final
autofocus bool
Whether this text field should focus itself if nothing else is already focused.
final
buildCounter InputCounterWidgetBuilder?
Callback that generates a custom InputDecorator.counter widget.
final
contextMenuBuilder EditableTextContextMenuBuilder?
Builds the text selection toolbar when requested by the user.
final
controller TextEditingController?
Controls the text being edited.
final
cursorColor Color?
The color to use when painting the cursor.
final
cursorHeight double?
How tall the cursor will be.
final
cursorRadius Radius?
How rounded the corners of the cursor should be.
final
cursorWidth double
How thick the cursor will be.
final
data String
The text to display.
no setter
decoration InputDecoration
The decoration to show around the text field.
final
dragStartBehavior DragStartBehavior
Determines the way that drag start behavior is handled.
final
enabled bool?
If false the text field is "disabled": it ignores taps and its decoration is rendered in grey.
final
enableInteractiveSelection bool
Whether to enable user interface affordances for changing the text selection.
final
enableSuggestions bool
final
expands bool
Whether this widget's height will be sized to fill its parent.
final
focusNode FocusNode?
Defines the keyboard focus for this widget.
final
fullwidth bool
final
hashCode int
The hash code for this object.
no setterinherited
inputFormatters List<TextInputFormatter>?
Optional input validation and formatting overrides.
final
key Key?
Controls how one widget replaces another widget in the tree.
finalinherited
keyboardAppearance Brightness?
The appearance of the keyboard.
final
keyboardType TextInputType
The type of keyboard to use for editing the text.
final
locale Locale?
Used to select a font when the same Unicode character can be rendered differently, depending on the locale.
final
maxFontSize double
The maximum text size constraint to be used when auto-sizing text.
final
maxLength int?
The maximum number of characters (Unicode scalar values) to allow in the text field.
final
maxLengthEnforcement MaxLengthEnforcement?
Determines how the maxLength limit should be enforced.
final
maxLines int?
An optional maximum number of lines for the text to span, wrapping if necessary. If the text exceeds the given number of lines, it will be resized according to the specified bounds and if necessary truncated according to overflow.
final
minFontSize double
The minimum text size constraint to be used when auto-sizing text.
final
minLines int?
The minimum number of lines to occupy when the content spans fewer lines.
final
minWidth double?
final
obscureText bool
Whether to hide the text being edited (e.g., for passwords).
final
onChanged ValueChanged<String>?
Called when the user initiates a change to the TextField's value: when they have inserted or deleted text.
final
onEditingComplete VoidCallback?
Called when the user submits editable content (e.g., user presses the "done" button on the keyboard).
final
onSubmitted ValueChanged<String>?
Called when the user indicates that they are done editing the text in the field.
final
onTap GestureTapCallback?
Called for the first tap in a series of taps.
final
overflowReplacement Widget?
If the text is overflowing and does not fit its bounds, this widget is displayed instead.
final
presetFontSizes List<double>?
Predefines all the possible font sizes.
final
readOnly bool
Whether the text can be changed.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
scrollController ScrollController?
The ScrollController to use when vertically scrolling the input.
final
scrollPadding EdgeInsets
Configures padding to edges surrounding a Scrollable when the Textfield scrolls into view.
final
scrollPhysics ScrollPhysics?
The ScrollPhysics to use when vertically scrolling the input.
final
selectionControls TextSelectionControls?
Optional delegate for building the text selection handles.
final
selectionEnabled bool
no setter
selectionHeightStyle BoxHeightStyle
Controls how tall the selection highlight boxes are computed to be.
final
selectionWidthStyle BoxWidthStyle
Controls how wide the selection highlight boxes are computed to be.
final
semanticsLabel String?
An alternative semantics label for this text.
final
showCursor bool?
Whether to show cursor.
final
smartDashesType SmartDashesType
final
smartQuotesType SmartQuotesType
final
stepGranularity double
The step size in which the font size is being adapted to constraints.
final
strutStyle StrutStyle?
The strut style to use. Strut style defines the strut, which sets minimum vertical layout metrics.
final
style TextStyle?
If non-null, the style to use for this text.
final
textAlign TextAlign
How the text should be aligned horizontally.
final
textAlignVertical TextAlignVertical?
final
textCapitalization TextCapitalization
Configures how the platform keyboard will select an uppercase or lowercase keyboard.
final
textDirection TextDirection?
The directionality of the text.
final
textFieldKey Key?
Sets the key for the resulting TextField widget.
final
textInputAction TextInputAction?
The type of action button to use for the keyboard.
final
textSpan TextSpan?
The text to display as a TextSpan.
final
wrapWords bool
Whether words which don't fit in one line should be wrapped.
final

Methods

createElement() StatefulElement
Creates a StatefulElement to manage this widget's location in the tree.
inherited
createState() → _AutoSizeTextFieldState
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.
inherited
debugFillProperties(DiagnosticPropertiesBuilder properties) → void
Add additional properties associated with the node.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent 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.
inherited

Constants

noMaxLength → const int
If maxLength is set to this value, only the "current input length" part of the character counter is shown.