StyledText class

Text widget with formatting via tags.

Formatting is specified as xml tags. For each tag, you can specify a style, icon, etc. in the tags parameter.

Consider using the CustomStyledText instead if you need more customisation.

Example:

StyledText(
  text: '<red>Red</red> text.',
  tags: [
    'red': StyledTextTag(style: TextStyle(color: Colors.red)),
  ],
)

See also:

  • TextStyle, which discusses how to style text.
Inheritance

Constructors

StyledText({Key? key, required String text, bool newLineAsBreaks = true, TextStyle? style, Map<String, StyledTextTagBase>? tags, TextAlign? textAlign, TextDirection? textDirection, bool? softWrap = true, TextOverflow? overflow, double? textScaleFactor, int? maxLines, Locale? locale, StrutStyle? strutStyle, TextWidthBasis? textWidthBasis, TextHeightBehavior? textHeightBehavior})
Create a text widget with formatting via tags.
StyledText.selectable({Key? key, required String text, bool newLineAsBreaks = false, TextStyle? style, Map<String, StyledTextTagBase>? tags, TextAlign? textAlign, TextDirection? textDirection, double? textScaleFactor, int? maxLines, StrutStyle? strutStyle, TextWidthBasis? textWidthBasis, TextHeightBehavior? textHeightBehavior, FocusNode? focusNode, bool showCursor = false, bool autofocus = false, @Deprecated('Use `contextMenuBuilder` instead. ' 'This feature was deprecated after Flutter v3.3.0-0.5.pre.') ToolbarOptions? toolbarOptions, EditableTextContextMenuBuilder contextMenuBuilder = _defaultContextMenuBuilder, TextSelectionControls? selectionControls, BoxHeightStyle selectionHeightStyle = ui.BoxHeightStyle.tight, BoxWidthStyle selectionWidthStyle = ui.BoxWidthStyle.tight, SelectionChangedCallback? onSelectionChanged, TextMagnifierConfiguration? magnifierConfiguration, double cursorWidth = 2.0, double? cursorHeight, Radius? cursorRadius, Color? cursorColor, DragStartBehavior dragStartBehavior = DragStartBehavior.start, bool enableInteractiveSelection = true, GestureTapCallback? onTap, ScrollPhysics? scrollPhysics, String? semanticsLabel})
Create a selectable text widget with formatting via tags.
const

Properties

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
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 truncated according to overflow.
final
newLineAsBreaks bool
Treat newlines as line breaks.
final
overflow TextOverflow?
How visual overflow should be handled.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
selectable bool
Is text selectable?
final
softWrap bool?
Whether the text should break at soft line breaks.
final
strutStyle StrutStyle?
The strut style to use. Strut style defines the strut, which sets minimum vertical layout metrics.
final
style TextStyle?
Default text style.
final
tags Map<String, StyledTextTagBase>
Map of tag assignments to text style classes and tag handlers.
final
text String
The text to display in this widget. The text must be valid xml.
final
textAlign TextAlign?
How the text should be aligned horizontally.
final
textDirection TextDirection?
The directionality of the text.
final
textHeightBehavior TextHeightBehavior?
final
textScaleFactor double?
The number of font pixels for each logical pixel.
final
textWidthBasis TextWidthBasis?
Defines how to measure the width of the rendered text.
final

Methods

build(BuildContext context) Widget
Describes the part of the user interface represented by this widget.
override
createElement() StatelessElement
Creates a StatelessElement to manage this widget's 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
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, 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

Operators

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