TextSpan class
An immutable span of text.
A TextSpan object can be styled using its style property. The style will be applied to the text and the children.
A TextSpan object can just have plain text, or it can have children TextSpan objects with their own styles that (possibly only partially) override the style of this object. If a TextSpan has both text and children, then the text is treated as if it was an unstyled TextSpan at the start of the children list.
To paint a TextSpan on a Canvas, use a TextPainter. To display a text span in a widget, use a RichText. For text with a single style, consider using the Text widget.
The text "Hello world!", in black:
TextSpan(
text: 'Hello world!',
style: TextStyle(color: Colors.black),
)
There is some more detailed sample code in the documentation for the recognizer property.
See also:
- Text, a widget for showing uniformly-styled text.
- RichText, a widget for finer control of text rendering.
- TextPainter, a class for painting TextSpan objects on a Canvas.
- Inheritance
- Object
- Diagnosticable
- DiagnosticableTree
- TextSpan
- Annotations
- @immutable
Constructors
Properties
-
children
→ List<
TextSpan> -
Additional spans to include as children. [...]
final
- hashCode → int
-
The hash code for this object. [...]
read-only, override
- recognizer → GestureRecognizer
-
A gesture recognizer that will receive events that hit this text span. [...]
final
- style → TextStyle
-
The style to apply to the text and the children.
final
- text → String
-
The text contained in the span. [...]
final
- runtimeType → Type
-
A representation of the runtime type of the object.
read-only, inherited
Methods
-
build(
ParagraphBuilder builder, { double textScaleFactor: 1.0 }) → void - Apply the style, text, and children of this object to the given ParagraphBuilder, from which a Paragraph can be obtained. Paragraph objects can be drawn on Canvas objects. [...]
-
codeUnitAt(
int index) → int - Returns the UTF-16 code unit at the given index in the flattened string. [...]
-
compareTo(
TextSpan other) → RenderComparison - Describe the difference between this text span and another, in terms of how much damage it will make to the rendering. The comparison is deep. [...]
-
debugAssertIsValid(
) → bool - In checked mode, throws an exception if the object is not in a valid configuration. Otherwise, returns true. [...]
-
debugDescribeChildren(
) → List< DiagnosticsNode> -
Returns a list of DiagnosticsNode objects describing this node's
children. [...]
override
-
debugFillProperties(
DiagnosticPropertiesBuilder properties) → void -
Add additional properties associated with the node. [...]
override
-
getSpanForPosition(
TextPosition position) → TextSpan - Returns the text span that contains the given position in the text.
-
toPlainText(
) → String - Flattens the TextSpan tree into a single string. [...]
-
toStringShort(
) → String -
A brief description of this object, usually just the runtimeType and the
hashCode. [...]
override
-
visitTextSpan(
bool visitor(TextSpan span)) → bool -
Walks this text span and its descendants in pre-order and calls
visitor
for each span that has text. -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a non-existent 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 toStringDeep. [...]
inherited
-
toString(
{DiagnosticLevel minLevel: DiagnosticLevel.debug }) → String -
Returns 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
Operators
-
operator ==(
dynamic other) → bool -
The equality operator. [...]
override