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
-
- Object
- DiagnosticableTree
- Widget
- StatefulWidget
- AutoSizeTextField
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.