CustomTextStyle class Null safety

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. [...]
read-only, inherited
backgroundColor Color?
The color to use as the background for the text. [...]
read-only, inherited
baseStyle TextStyle?
Basic text style.
final, inherited
color Color?
The color to use when painting the text. [...]
read-only, inherited
debugLabel String?
A human-readable description of this text style. [...]
read-only, inherited
decoration TextDecoration?
The decorations to paint near the text (e.g., an underline). [...]
read-only, inherited
decorationColor Color?
The color in which to paint the text decorations.
read-only, inherited
decorationStyle TextDecorationStyle?
The style in which to paint the text decorations (e.g., dashed).
read-only, inherited
decorationThickness double?
The thickness of the decoration stroke as a multiplier of the thickness defined by the font. [...]
read-only, inherited
fontFamily String?
The name of the font to use when painting the text (e.g., Roboto). If the font is defined in a package, this will be prefixed with 'packages/package_name/' (e.g. 'packages/cool_fonts/Roboto'). The prefixing is done by the constructor when the package argument is provided. [...]
read-only, inherited
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. [...]
read-only, inherited
fontFeatures List<FontFeature>?
A list of FontFeatures that affect how the font selects glyphs. [...]
read-only, inherited
fontSize double?
The size of glyphs (in logical pixels) to use when painting the text. [...]
read-only, inherited
fontStyle FontStyle?
The typeface variant to use when drawing the letters (e.g., italics).
read-only, inherited
fontWeight FontWeight?
The typeface thickness to use when painting the text (e.g., bold).
read-only, inherited
foreground Paint?
The paint drawn as a foreground for the text. [...]
read-only, inherited
hashCode int
The hash code for this object. [...]
read-only, inherited
height double?
The height of this text span, as a multiple of the font size. [...]
read-only, inherited
inherit bool
Whether null values are replaced with their value in an ancestor text style (e.g., in a TextSpan tree). [...]
read-only, inherited
leadingDistribution TextLeadingDistribution?
How the vertical space added by the height multiplier should be distributed over and under the text. [...]
read-only, inherited
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.
read-only, inherited
locale Locale?
The locale used to select region-specific glyphs. [...]
read-only, inherited
overflow TextOverflow?
How visual text overflow should be handled.
read-only, inherited
parse CustomTextStyleCallback
Called when parsing the attributes of a tag.
final
runtimeType Type
A representation of the runtime type of the object.
read-only, inherited
shadows List<Shadow>?
A list of Shadows that will be painted underneath the text. [...]
read-only, inherited
style TextStyle
read-only
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.
read-only, inherited
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.
read-only, inherited

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 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 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