XText class

A customizable text widget that supports an optional leading icon, underline decoration, tap handling, width limitation, and overflow control.

Features:

  • text: The main string displayed.
  • icon: Optional widget shown before the text (e.g., Icon, Svg, etc.).
  • style: Custom text styling. Any existing decoration will be removed to avoid conflict with the manual underline.
  • isUseUnderline: If true, draws a bottom border manually to simulate an underline without affecting text metrics.
  • iconVerticalAlignment: Controls vertical alignment inside the Row.
  • onTap: Tap callback using GestureDetector.
  • maxWidth: Constrains the text to a maximum width.
  • overflow: Controls the text overflow behavior (e.g., ellipsis).
  • look: Optional visual look preset (default XLook.standard).

Usage:

XText(
  "Hello World",
  icon: Icon(Icons.info),
  style: TextStyle(fontSize: 14),
  isUseUnderline: true,
  onTap: () {},
  maxWidth: 150,
  overflow: TextOverflow.ellipsis,
)

XText('Hello', look: XLook.ios);
Inheritance

Constructors

XText(String text, {Key? key, Widget? icon, bool isExpand = false, TextStyle? style, CrossAxisAlignment? iconVerticalAlignment, bool? isUseUnderline = false, dynamic onTap()?, double? maxWidth, TextOverflow? overflow, TextAlign textAlign = .start, double? iconSpacer = 8, StrutStyle? strutStyle, TextDirection? textDirection, Locale? locale, bool? softWrap = true, int? maxLines, TextScaler? textScaler, String? semanticsLabel, String? semanticsIdentifier, TextWidthBasis? textWidthBasis, TextHeightBehavior? textHeightBehavior, Color? selectionColor, GestureTapCallback? onDoubleTap, GestureLongPressCallback? onLongPress, GestureTapDownCallback? onTapDown, GestureTapUpCallback? onTapUp, GestureTapCancelCallback? onTapCancel, HitTestBehavior? behavior, bool excludeFromSemantics = false, DragStartBehavior dragStartBehavior = DragStartBehavior.start, XLook look = XLook.standard})
const

Properties

behavior → HitTestBehavior?
final
dragStartBehavior → DragStartBehavior
final
excludeFromSemantics → bool
final
hashCode → int
The hash code for this object.
no setterinherited
icon → Widget?
final
iconSpacer → double?
final
iconVerticalAlignment → CrossAxisAlignment?
final
isExpand → bool
final
isUseUnderline → bool?
final
key → Key?
Controls how one widget replaces another widget in the tree.
finalinherited
locale → Locale?
final
look → XLook
Visual look preset. Defaults to XLook.standard (existing package look).
final
maxLines → int?
final
maxWidth → double?
final
onDoubleTap → GestureTapCallback?
final
onLongPress → GestureTapCallback?
final
onTap → dynamic Function()?
final
onTapCancel → GestureTapCallback?
final
onTapDown → GestureTapDownCallback?
final
onTapUp → GestureTapUpCallback?
final
overflow → TextOverflow?
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
selectionColor → Color?
final
semanticsIdentifier → String?
final
semanticsLabel → String?
final
softWrap → bool?
final
strutStyle → StrutStyle?
final
style → TextStyle?
final
text → String
final
textAlign → TextAlign
final
textDirection → TextDirection?
final
textHeightBehavior → TextHeightBehavior?
final
textScaler → TextScaler?
final
textWidthBasis → TextWidthBasis?
final

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