ResponsiveText class

A responsive text widget that automatically adapts its content and size based on the available space and screen type.

Features:

  • Auto-resize: Shrinks font size to fit available width (binary search).
  • Short text: Shows abbreviated text on small screens.
  • Overflow protection: Never overflows — guaranteed.

Example

ResponsiveText(
  'Welcome to our Amazing App',
  shortText: 'Welcome',
  style: TextStyle(fontSize: 18.fz),
  autoResize: true,
  minFontSize: 10,
)
Inheritance

Constructors

ResponsiveText(String text, {Key? key, String? shortText, TextStyle? style, bool autoResize = false, double minFontSize = 8.0, double stepGranularity = 0.5, int? maxLines, TextAlign? textAlign, TextOverflow overflow = TextOverflow.ellipsis, TextDirection? textDirection, String? semanticsLabel})
Creates a ResponsiveText widget.
const

Properties

autoResize → bool
Whether to automatically shrink the font to fit available width. Defaults to false for maximum performance (no LayoutBuilder).
final
hashCode → int
The hash code for this object.
no setterinherited
key → Key?
Controls how one widget replaces another widget in the tree.
finalinherited
maxLines → int?
Maximum number of lines. Defaults to null (unlimited).
final
minFontSize → double
The minimum font size when autoResize is true. Defaults to 8.0.
final
overflow → TextOverflow
Overflow behavior when autoResize is false. Defaults to TextOverflow.ellipsis.
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
semanticsLabel → String?
Semantic label for accessibility.
final
shortText → String?
Optional shorter text for small screens (watch/mobile). If null, the full text is always used.
final
stepGranularity → double
The step size for font size reduction during auto-resize. Smaller values = more precise fit but slightly more computation. Defaults to 0.5.
final
style → TextStyle?
The text style. If null, uses the default from DefaultTextStyle.
final
text → String
The full text to display.
final
textAlign → TextAlign?
Text alignment. Defaults to TextAlign.start.
final
textDirection → TextDirection?
Text direction for RTL support.
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