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;
        }
      }),
  },
)
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