CustomTextStyle class

A custom text style, for which you can specify the processing of attributes of the tag.

Example:

StyledText(
  text: 'Text with custom <color text="#ff5500">color</color> text.',
  styles: {
    'color': CustomTextStyle(
      baseStyle: TextStyle(fontStyle: FontStyle.italic),
      parse: (baseStyle, attributes) {
        if (attributes.containsKey('text') &&
            (attributes['text'].substring(0, 1) == '#') &&
            attributes['text'].length >= 6) {
          final String hexColor = attributes['text'].substring(1);
          final String alphaChannel = (hexColor.length == 8) ? hexColor.substring(6, 8) : 'FF';
          final Color color = Color(int.parse('0x$alphaChannel' + hexColor.substring(0, 6)));
          return baseStyle.copyWith(color: color);
        } else {
          return baseStyle;
        }
      }),
  },
)
Implemented types
Annotations

Constructors

CustomTextStyle({required CustomTextStyleCallback parse, TextStyle? baseStyle})

Properties

background → Paint?
The paint drawn as a background for the text.
no setterinherited
backgroundColor → Color?
The color to use as the background for the text.
no setterinherited
baseStyle → TextStyle?
Basic text style.
finalinherited
color → Color?
The color to use when painting the text.
no setterinherited
debugLabel → String?
A human-readable description of this text style.
no setterinherited
decoration → TextDecoration?
The decorations to paint near the text (e.g., an underline).
no setterinherited
decorationColor → Color?
The color in which to paint the text decorations.
no setterinherited
decorationStyle → TextDecorationStyle?
The style in which to paint the text decorations (e.g., dashed).
no setterinherited
decorationThickness → double?
The thickness of the decoration stroke as a multiplier of the thickness defined by the font.
no setterinherited
fontFamily → String?
The name of the font to use when painting the text (e.g., Roboto).
no setterinherited
fontFamilyFallback → List<String>?
The ordered list of font families to fall back on when a glyph cannot be found in a higher priority font family.
no setterinherited
fontFeatures → List<FontFeature>?
A list of FontFeatures that affect how the font selects glyphs.
no setterinherited
fontSize → double?
The size of fonts (in logical pixels) to use when painting the text.
no setterinherited
fontStyle → FontStyle?
The typeface variant to use when drawing the letters (e.g., italics).
no setterinherited
fontVariations → List<FontVariation>?
A list of FontVariations that affect how a variable font is rendered.
finalinherited
fontWeight → FontWeight?
The typeface thickness to use when painting the text (e.g., bold).
no setterinherited
foreground → Paint?
The paint drawn as a foreground for the text.
no setterinherited
hashCode → int
The hash code for this object.
no setterinherited
height → double?
The height of this text span, as a multiple of the font size.
no setterinherited
inherit → bool
Whether null values in this TextStyle can be replaced with their value in another TextStyle using merge.
no setterinherited
leadingDistribution → TextLeadingDistribution?
How the vertical space added by the height multiplier should be distributed over and under the text.
no setterinherited
letterSpacing → double?
The amount of space (in logical pixels) to add between each letter. A negative value can be used to bring the letters closer.
no setterinherited
locale → Locale?
The locale used to select region-specific glyphs.
no setterinherited
overflow → TextOverflow?
How visual text overflow should be handled.
no setterinherited
parse → CustomTextStyleCallback
Called when parsing the attributes of a tag.
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
shadows → List<Shadow>?
A list of Shadows that will be painted underneath the text.
no setterinherited
style → TextStyle
no setter
textBaseline → TextBaseline?
The common baseline that should be aligned between this text span and its parent text span, or, for the root text spans, with the line box.
no setterinherited
wordSpacing → double?
The amount of space (in logical pixels) to add at each sequence of white-space (i.e. between each word). A negative value can be used to bring the words closer.
no setterinherited

Methods

apply({Color? color, Color? backgroundColor, TextDecoration? decoration, Color? decorationColor, TextDecorationStyle? decorationStyle, double decorationThicknessFactor = 1.0, double decorationThicknessDelta = 0.0, String? fontFamily, List<String>? fontFamilyFallback, double fontSizeFactor = 1.0, double fontSizeDelta = 0.0, int fontWeightDelta = 0, FontStyle? fontStyle, double letterSpacingFactor = 1.0, double letterSpacingDelta = 0.0, double wordSpacingFactor = 1.0, double wordSpacingDelta = 0.0, double heightFactor = 1.0, double heightDelta = 0.0, TextBaseline? textBaseline, TextLeadingDistribution? leadingDistribution, Locale? locale, List<Shadow>? shadows, List<FontFeature>? fontFeatures, TextOverflow? overflow}) → TextStyle
Creates a copy of this text style replacing or altering the specified properties.
inherited
compareTo(TextStyle other) → RenderComparison
Describe the difference between this style and another, in terms of how much damage it will make to the rendering.
inherited
configure(Map<String?, String?>? attributes) → void
copyWith({bool? inherit, Color? color, Color? backgroundColor, String? fontFamily, List<String>? fontFamilyFallback, double? fontSize, FontWeight? fontWeight, FontStyle? fontStyle, double? letterSpacing, double? wordSpacing, TextBaseline? textBaseline, double? height, TextLeadingDistribution? leadingDistribution, Locale? locale, Paint? foreground, Paint? background, List<Shadow>? shadows, List<FontFeature>? fontFeatures, TextDecoration? decoration, Color? decorationColor, TextDecorationStyle? decorationStyle, double? decorationThickness, String? debugLabel, TextOverflow? overflow}) → TextStyle
Creates a copy of this text style but with the given fields replaced with the new values.
inherited
debugFillProperties(DiagnosticPropertiesBuilder properties, {String prefix = ''}) → void
Adds all properties prefixing property names with the optional prefix.
inherited
getParagraphStyle({TextAlign? textAlign, TextDirection? textDirection, double textScaleFactor = 1.0, String? ellipsis, int? maxLines, TextHeightBehavior? textHeightBehavior, Locale? locale, String? fontFamily, double? fontSize, FontWeight? fontWeight, FontStyle? fontStyle, double? height, StrutStyle? strutStyle}) → ParagraphStyle
The style information for paragraphs, encoded for use by dart:ui.
inherited
getTextStyle({double textScaleFactor = 1.0}) → TextStyle
The style information for text runs, encoded for use by dart:ui.
inherited
merge(TextStyle? other) → TextStyle
Returns a new text style that is a combination of this style and the given other style.
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
toStringShort() → String
A brief description of this object, usually just the runtimeType and the hashCode.
inherited

Operators

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