AnnotatedText class

A widget that displays a text with inline actions. Supported formats: text or text This way translations can be done with inline actions.

The text is displayed as a RichText widget. The annotations are displayed as a TextSpan widget with optionally a TapGestureRecognizer attached to it (if the action is not null). The actions map is used to map the action name to the action to perform when the text is tapped. The defaultStyle is the style of the default text. The annotationStyle is the style of the annotated text. The textAlign is the alignment of the text.

some text only highlights the text, but does not trigger an action. some text highlights the text and triggers the action when tapped. some text without a defined action for the exact name 'action' will not trigger an action.

Example:

AnnotatedText(
  text: 'Hello [world](onWorldTapped)',
  actions: {'onWorldTapped': () => print('world')},
  defaultStyle: TextStyle(color: Colors.black),
  annotationStyle: TextStyle(color: Colors.blue),
)
Inheritance

Constructors

AnnotatedText({required String text, required Map<String, VoidCallback>? actions, required TextStyle defaultStyle, required TextStyle annotationStyle, TextAlign textAlign = TextAlign.start, Key? key})
Creates a widget that displays a text with annotations.
const

Properties

actions Map<String, VoidCallback>?
A map {actionName: action} of actions to perform when the text is tapped.
final
annotationStyle TextStyle
The style of the annotated text.
final
defaultStyle TextStyle
The style of the default text.
final
hashCode int
The hash code for this object.
no setterinherited
key Key?
Controls how one widget replaces another widget in the tree.
finalinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
text String
The complete text to display.
final
textAlign TextAlign
The alignment of the 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