StyledText class

StyledText allows you to display rich text with different styles.

Example using children:

StyledText(
 children: [
  Text("Hello", style: TextStyle(color: Colors.red)),
  Text("World", style: TextStyle(color: Colors.blue)),
  Text("!")
  ]
)

Example using template text:

StyledText.template(
  "Hello {{name}}, welcome to {{app}}!",
  styles: {
    "name": TextStyle(color: Colors.blue, fontWeight: FontWeight.bold),
    "app": TextStyle(color: Colors.green),
  },
  onTap: {
    "name": () => print("Name tapped"),
    "app": () => print("App tapped"),
  }
)

Example using template text with pipe-separated styles:

StyledText.template(
  text: "Learn {{Korean}}, {{Japanese}}, {{Thai}} and {{English}}!",
  styles: {
    "Korean|Japanese|Thai|English": TextStyle(
      color: Colors.blue,
      fontWeight: FontWeight.bold
    ),
  },
  onTap: {
    "Korean|Japanese": () => print("Asian language tapped"),
    "Thai|English": () => print("Other language tapped"),
  }
)

Example using wildcard * to style all placeholders:

StyledText.template(
  "Hello {{name}}, welcome to {{app}}!",
  styles: {
    "*": TextStyle(color: Colors.blue, fontWeight: FontWeight.bold),
  },
)

Example using template text with localization ({{key:text}} syntax):

StyledText.template(
  "learn_skills".tr(),
  // en: "Learn {{lang:Languages}}, {{read:Reading}} and {{speak:Speaking}} in {{app:AppName}}"
  // es: "Aprende {{lang:Idiomas}}, {{read:Lectura}} y {{speak:Habla}} en {{app:AppName}}"
  styles: {
    "lang|read|speak": TextStyle(color: Colors.blue, fontWeight: FontWeight.bold),
    "app": TextStyle(color: Colors.green),
  },
)
Inheritance
Available extensions

Constructors

StyledText({Key? key, required List<Text>? children, TextStyle? style, void onEnter(Text text, PointerEnterEvent event)?, void onExit(Text text, PointerExitEvent event)?, bool? spellOut, bool softWrap = true, TextAlign textAlign = TextAlign.start, TextDirection? textDirection, int? maxLines, TextOverflow overflow = TextOverflow.clip, Locale? locale, StrutStyle? strutStyle, TextScaler? textScaler, Color? selectionColor})
const
StyledText.template(String? text, {Key? key, Map<String, TextStyle>? styles, Map<String, VoidCallback>? onTap, TextStyle? style, bool? spellOut, bool softWrap = true, TextAlign textAlign = TextAlign.start, TextDirection? textDirection, int? maxLines, TextOverflow overflow = TextOverflow.clip, Locale? locale, StrutStyle? strutStyle, TextScaler? textScaler, Color? selectionColor})
const

Properties

children → List<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
locale → Locale?
final
maxLines → int?
final
onEnter → void Function(Text text, PointerEnterEvent event)?
final
onExit → void Function(Text text, PointerExitEvent event)?
final
onTap → Map<String, VoidCallback>?
final
overflow → TextOverflow
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
selectionColor → Color?
final
softWrap → bool
final
spellOut → bool?
final
strutStyle → StrutStyle?
final
style → TextStyle?
final
styles → Map<String, TextStyle>?
final
text → String?
final
textAlign → TextAlign
final
textDirection → TextDirection?
final
textScaler → TextScaler?
final

Methods

connectiveOr({required Widget offline}) → Widget

Available on Widget, provided by the ConnectiveExtension extension

Wraps the widget in a Connective that shows an offline placeholder.
createElement() → StatefulElement
Creates a StatefulElement to manage this widget's location in the tree.
inherited
createState() → State<StyledText>
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
faderBottom({double strength = 0.2, Color color = Colors.black}) → FadeOverlay

Available on StatefulWidget, provided by the NyStatefulExt extension

Make gradient fader from the bottom of the widget. strength ranges from 0.0 (subtle) to 1.0 (strong).
faderFrom({double strength = 0.2, Color color = Colors.black, AlignmentGeometry begin = Alignment.topCenter, AlignmentGeometry end = Alignment.bottomCenter}) → FadeOverlay

Available on StatefulWidget, provided by the NyStatefulExt extension

Make gradient fader with custom alignment. strength ranges from 0.0 (subtle) to 1.0 (strong).
faderLeft({double strength = 0.2, Color color = Colors.black}) → FadeOverlay

Available on StatefulWidget, provided by the NyStatefulExt extension

Make gradient fader from the left of the widget. strength ranges from 0.0 (subtle) to 1.0 (strong).
faderRight({double strength = 0.2, Color color = Colors.black}) → FadeOverlay

Available on StatefulWidget, provided by the NyStatefulExt extension

Make gradient fader from the right of the widget. strength ranges from 0.0 (subtle) to 1.0 (strong).
faderTop({double strength = 0.2, Color color = Colors.black}) → FadeOverlay

Available on StatefulWidget, provided by the NyStatefulExt extension

Make gradient fader from the top of the widget. strength ranges from 0.0 (subtle) to 1.0 (strong).
flexible({Key? key, int flex = 1, FlexFit fit = FlexFit.loose}) → Flexible

Available on StatefulWidget, provided by the NyStatefulExt extension

Make a StatefulWidget Flexible.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
onlyOffline() → Widget

Available on Widget, provided by the ConnectiveExtension extension

Only shows the widget when offline, otherwise shows nothing.
onlyOnline() → Widget

Available on Widget, provided by the ConnectiveExtension extension

Only shows the widget when online, otherwise shows nothing.
paddingOnly({double left = 0.0, double top = 0.0, double right = 0.0, double bottom = 0.0}) → Padding

Available on StatefulWidget, provided by the NyStatefulExt extension

Add padding to the widget.
paddingSymmetric({double horizontal = 0.0, double vertical = 0.0}) → Padding

Available on StatefulWidget, provided by the NyStatefulExt extension

Add symmetric padding to the widget.
pullable({required Future<void> onRefresh()?, PullableConfig? pullableConfig}) → Widget

Available on Widget, provided by the NyWidgetExt extension

Make a widget pullable using the Pullable widget.
toDiagnosticsNode({String? name, DiagnosticsTreeStyle? style}) → DiagnosticsNode
Returns a debug representation of the object that is used by debugging tools and by DiagnosticsNode.toStringDeep.
inherited
toSkeleton({Key? key, bool? ignoreContainers, bool? justifyMultiLineText, Color? containersColor, bool ignorePointers = true, bool enabled = true, PaintingEffect? effect, TextBoneBorderRadius? textBoneBorderRadius}) → Skeletonizer

Available on Widget, provided by the NyWidgetExt extension

Make a widget a skeleton using the Skeletonizer package.
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
visibleWhen(bool condition) → Widget

Available on StatefulWidget, provided by the NyStatefulExt extension

Make a widget visible when a condition is true.

Operators

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