AppText class

A customizable text widget.

The AppText widget provides an extended Text widget that allows customization of text styles based on predefined typography categories (e.g., display, headline, title, body, and label) and sizes (large, medium, and small). This makes it easier to maintain a consistent text appearance throughout the application.

Each category and size combination has a dedicated constructor, such as AppText.displayLarge, AppText.headlineMedium, AppText.titleSmall, and so on.

The color, height, fontSize, fontWeight, and letterSpacing arguments are optional and can be used to further customize the text style.

The textAlign, maxLines, and overflow arguments are inherited from the Text widget and have the same behavior.

Example usage:

dart /// AppText.headlineLarge( /// 'This is a large headline', /// color: Colors.blue, /// letterSpacing: 1.2, /// ), /// /// See also:

  • Text, which is the base widget for displaying text.
  • TextStyle, which holds the style properties for the text.
  • Theme, which holds the text theme used for styling the text.
Inheritance

Constructors

AppText.new(String data, {Key? key, Color? color, double? height, double? fontSize, FontWeight? fontWeight, double? letterSpacing, TextAlign? textAlign, int? maxLines, TextOverflow? overflow})
AppText.bodyLarge(String data, {Key? key, Color? color, double? height, double? fontSize, FontWeight? fontWeight, double? letterSpacing, TextAlign? textAlign, int? maxLines, TextOverflow? overflow})
AppText.bodyMedium(String data, {Key? key, Color? color, double? height, double? fontSize, FontWeight? fontWeight, double? letterSpacing, TextAlign? textAlign, int? maxLines, TextOverflow? overflow})
AppText.bodySmall(String data, {Key? key, Color? color, double? height, double? fontSize, FontWeight? fontWeight, double? letterSpacing, TextAlign? textAlign, int? maxLines, TextOverflow? overflow})
AppText.displayLarge(String data, {Key? key, Color? color, double? height, double? fontSize, FontWeight? fontWeight, double? letterSpacing, TextAlign? textAlign, int? maxLines, TextOverflow? overflow})
AppText.displayMedium(String data, {Key? key, Color? color, double? height, double? fontSize, FontWeight? fontWeight, double? letterSpacing, TextAlign? textAlign, int? maxLines, TextOverflow? overflow})
AppText.displaySmall(String data, {Key? key, Color? color, double? height, double? fontSize, FontWeight? fontWeight, double? letterSpacing, TextAlign? textAlign, int? maxLines, TextOverflow? overflow})
AppText.headlineLarge(String data, {Key? key, Color? color, double? height, double? fontSize, FontWeight? fontWeight, double? letterSpacing, TextAlign? textAlign, int? maxLines, TextOverflow? overflow})
AppText.headlineMedium(String data, {Key? key, Color? color, double? height, double? fontSize, FontWeight? fontWeight, double? letterSpacing, TextAlign? textAlign, int? maxLines, TextOverflow? overflow})
AppText.headlineSmall(String data, {Key? key, Color? color, double? height, double? fontSize, FontWeight? fontWeight, double? letterSpacing, TextAlign? textAlign, int? maxLines, TextOverflow? overflow})
AppText.labelLarge(String data, {Key? key, Color? color, double? height, double? fontSize, FontWeight? fontWeight, double? letterSpacing, TextAlign? textAlign, int? maxLines, TextOverflow? overflow})
AppText.labelMedium(String data, {Key? key, Color? color, double? height, double? fontSize, FontWeight? fontWeight, double? letterSpacing, TextAlign? textAlign, int? maxLines, TextOverflow? overflow})
AppText.labelSmall(String data, {Key? key, Color? color, double? height, double? fontSize, FontWeight? fontWeight, double? letterSpacing, TextAlign? textAlign, int? maxLines, TextOverflow? overflow})
AppText.titleLarge(String data, {Key? key, Color? color, double? height, double? fontSize, FontWeight? fontWeight, double? letterSpacing, TextAlign? textAlign, int? maxLines, TextOverflow? overflow})
AppText.titleMedium(String data, {Key? key, Color? color, double? height, double? fontSize, FontWeight? fontWeight, double? letterSpacing, TextAlign? textAlign, int? maxLines, TextOverflow? overflow})
AppText.titleSmall(String data, {Key? key, Color? color, double? height, double? fontSize, FontWeight? fontWeight, double? letterSpacing, TextAlign? textAlign, int? maxLines, TextOverflow? overflow})

Properties

builder ↔ TextBuilder
A TextBuilder type function that is responsible for building the actual Text widget with the desired text style based on the provided customization options.
getter/setter pair
color Color?
The color of the text.
final
data String?
The text to display.
finalinherited
fontSize double?
fontSize: The size of the text font.
final
fontWeight FontWeight?
The thickness of the text font, represented by the FontWeight enumeration.
final
hashCode int
The hash code for this object.
no setterinherited
height double?
The height of the text, which affects the line height.
final
key Key?
Controls how one widget replaces another widget in the tree.
finalinherited
letterSpacing double?
The amount of space between the letters of the text.
final
locale Locale?
Used to select a font when the same Unicode character can be rendered differently, depending on the locale.
finalinherited
maxLines int?
An optional maximum number of lines for the text to span, wrapping if necessary. If the text exceeds the given number of lines, it will be truncated according to overflow.
finalinherited
overflow TextOverflow?
How visual overflow should be handled.
finalinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
selectionColor Color?
The color to use when painting the selection.
finalinherited
semanticsIdentifier String?
A unique identifier for the semantics node for this widget.
finalinherited
semanticsLabel String?
An alternative semantics label for this text.
finalinherited
softWrap bool?
Whether the text should break at soft line breaks.
finalinherited
strutStyle StrutStyle?
The strut style to use. Strut style defines the strut, which sets minimum vertical layout metrics.
finalinherited
style TextStyle?
If non-null, the style to use for this text.
finalinherited
textAlign TextAlign?
How the text should be aligned horizontally.
finalinherited
textDirection TextDirection?
The directionality of the text.
finalinherited
textHeightBehavior TextHeightBehavior?
Defines how to apply TextStyle.height over and under text.
finalinherited
textScaleFactor double?
Deprecated. Will be removed in a future version of Flutter. Use textScaler instead.
finalinherited
textScaler TextScaler?
The font scaling strategy to use when laying out and rendering the text.
finalinherited
textSpan InlineSpan?
The text to display as a InlineSpan.
finalinherited
textWidthBasis TextWidthBasis?
Defines how to measure the width of the rendered text.
finalinherited

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