AutoSizeText class

Flutter widget that automatically resizes text 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

AutoSizeText(String data, {Key? key, Key? textKey, TextStyle? style, StrutStyle? strutStyle, double minFontSize = 12, double maxFontSize = double.infinity, double stepGranularity = 1, List<double>? presetFontSizes, AutoSizeGroup? group, TextAlign? textAlign, TextDirection? textDirection, Locale? locale, bool? softWrap, bool wrapWords = true, TextOverflow? overflow, Widget? overflowReplacement, double? textScaleFactor, int? maxLines, String? semanticsLabel})
Creates a AutoSizeText widget.
const
AutoSizeText.rich(TextSpan textSpan, {Key? key, Key? textKey, TextStyle? style, StrutStyle? strutStyle, double minFontSize = 12, double maxFontSize = double.infinity, double stepGranularity = 1, List<double>? presetFontSizes, AutoSizeGroup? group, TextAlign? textAlign, TextDirection? textDirection, Locale? locale, bool? softWrap, bool wrapWords = true, TextOverflow? overflow, Widget? overflowReplacement, double? textScaleFactor, int? maxLines, String? semanticsLabel})
Creates a AutoSizeText widget with a TextSpan.
const
AutoSizeText.richSelectable(TextSpan? textSpan, {Key? key, Key? textKey, TextStyle? style, StrutStyle? strutStyle, double minFontSize = 12, double maxFontSize = double.infinity, double stepGranularity = 1, List<double>? presetFontSizes, AutoSizeGroup? group, TextAlign? textAlign, TextDirection? textDirection, bool wrapWords = true, double? textScaleFactor, int? minLines, int? maxLines, bool autofocus = false, bool showCursor = false, double cursorWidth = 2.0, double? cursorHeight, Radius? cursorRadius, FocusNode? focusNode, Color? cursorColor, bool enableInteractiveSelection = true, TextSelectionControls? selectionControls, DragStartBehavior dragStartBehavior = DragStartBehavior.start, BoxHeightStyle selectionHeightStyle = ui.BoxHeightStyle.tight, BoxWidthStyle selectionWidthStyle = ui.BoxWidthStyle.tight, ToolbarOptions? toolbarOptions, GestureTapCallback? onTap, ScrollPhysics? scrollPhysics, SelectionChangedCallback? onSelectionChanged})
Creates a selectable AutoSizeText widget with a TextSpan.
const
AutoSizeText.selectable(String? data, {Key? key, Key? textKey, TextStyle? style, StrutStyle? strutStyle, double minFontSize = 12, double maxFontSize = double.infinity, double stepGranularity = 1, List<double>? presetFontSizes, AutoSizeGroup? group, TextAlign? textAlign, TextDirection? textDirection, bool wrapWords = true, double? textScaleFactor, int? minLines, int? maxLines, bool autofocus = false, bool showCursor = false, double cursorWidth = 2.0, double? cursorHeight, Radius? cursorRadius, FocusNode? focusNode, Color? cursorColor, bool enableInteractiveSelection = true, TextSelectionControls? selectionControls, DragStartBehavior dragStartBehavior = DragStartBehavior.start, BoxHeightStyle selectionHeightStyle = ui.BoxHeightStyle.tight, BoxWidthStyle selectionWidthStyle = ui.BoxWidthStyle.tight, ToolbarOptions? toolbarOptions, GestureTapCallback? onTap, ScrollPhysics? scrollPhysics, SelectionChangedCallback? onSelectionChanged})
Creates a selectable AutoSizeText widget.
const

Properties

autofocus bool
Whether this text field should focus itself if nothing else is already focused.
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.
final
dragStartBehavior DragStartBehavior
Determines the way that drag start behavior is handled.
final
enableInteractiveSelection bool
Whether to enable user interface affordances for changing the text selection.
final
focusNode FocusNode?
Defines the focus for this widget.
final
group AutoSizeGroup?
Synchronizes the size of multiple AutoSizeTexts.
final
hashCode int
The hash code for this object.
no setterinherited
key Key?
Controls how one widget replaces another widget in the tree.
finalinherited
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
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
onSelectionChanged SelectionChangedCallback?
Called when the user changes the selection of text (including the cursor location).
final
onTap GestureTapCallback?
Called when the user taps on this selectable text.
final
overflow TextOverflow?
How visual overflow should be handled.
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
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
scrollPhysics ScrollPhysics?
The ScrollPhysics to use when vertically scrolling the input.
final
selectionControls TextSelectionControls?
Optional delegate for building the text selection handles.
final
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
softWrap bool?
Whether the text should break at soft line breaks.
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
textDirection TextDirection?
The directionality of the text.
final
textKey Key?
Sets the key for the resulting Text widget.
final
textScaleFactor double?
The number of font pixels for each logical pixel.
final
textSpan TextSpan?
The text to display as a TextSpan.
final
toolbarOptions ToolbarOptions?
Configuration of toolbar options.
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() → _AutoSizeTextState
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