TTooltip class

A customizable tooltip with rich content and positioning options.

TTooltip provides an advanced tooltip widget with:

  • Auto-positioning based on available space
  • Manual position control (top/bottom/left/right)
  • Rich content support (text or custom widgets)
  • Icons and custom styling
  • Hover or tap trigger modes
  • Interactive tooltips
  • Configurable delays and durations
  • Arrow indicators

Basic Usage

TTooltip(
  message: 'Click to edit',
  child: IconButton(
    icon: Icon(Icons.edit),
    onPressed: () {},
  ),
)

With Custom Position

TTooltip(
  message: 'This is a tooltip',
  position: TTooltipPosition.right,
  icon: Icons.info,
  child: Text('Hover me'),
)

Interactive Tooltip

TTooltip(
  message: 'Click anywhere to close',
  interactive: true,
  triggerMode: TTooltipTriggerMode.tap,
  child: ElevatedButton(
    onPressed: () {},
    child: Text('Show Tooltip'),
  ),
)

See also:

Inheritance

Constructors

TTooltip({Key? key, required String message, required Widget child, Widget? richMessage, IconData? icon, TTooltipPosition position = TTooltipPosition.auto, Color? color, TTooltipSize size = TTooltipSize.small, Duration showDelay = const Duration(milliseconds: 100), Duration hideDelay = const Duration(milliseconds: 50), Duration waitDuration = Duration.zero, Duration showDuration = const Duration(seconds: 3), TTooltipTriggerMode triggerMode = TTooltipTriggerMode.hover, bool enableFeedback = true, bool excludeFromSemantics = false, Decoration? decoration, TextStyle? textStyle, TextAlign? textAlign, EdgeInsetsGeometry margin = const EdgeInsets.all(0), EdgeInsets? padding, double verticalOffset = 5, bool preferBelow = false, bool enableHapticFeedback = false, bool showArrow = true, bool interactive = false, double maxWidth = 250.0, VoidCallback? onShow, VoidCallback? onHide, TVariant? type})
Creates a tooltip.
const

Properties

child Widget
The widget that triggers the tooltip.
final
color Color?
Custom color for the tooltip.
final
decoration Decoration?
Custom decoration for the tooltip.
final
enableFeedback bool
Whether to provide haptic feedback.
final
enableHapticFeedback bool
Whether to enable haptic feedback on show.
final
excludeFromSemantics bool
Whether to exclude from semantics.
final
hashCode int
The hash code for this object.
no setterinherited
hideDelay Duration
Delay before hiding the tooltip.
final
icon IconData?
Optional icon to display in the tooltip.
final
interactive bool
Whether the tooltip is interactive (can be clicked).
final
key Key?
Controls how one widget replaces another widget in the tree.
finalinherited
margin EdgeInsetsGeometry
Margin around the tooltip.
final
maxWidth double
Maximum width of the tooltip.
final
message String
The text message to display in the tooltip.
final
onHide VoidCallback?
Callback fired when the tooltip is hidden.
final
onShow VoidCallback?
Callback fired when the tooltip is shown.
final
padding EdgeInsets?
Padding inside the tooltip.
final
position TTooltipPosition
The position of the tooltip relative to the child.
final
preferBelow bool
Whether to prefer showing below the child.
final
richMessage Widget?
Rich content widget to display instead of plain text.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
showArrow bool
Whether to show the arrow indicator.
final
showDelay Duration
Delay before showing the tooltip.
final
showDuration Duration
Duration to show the tooltip (for tap mode).
final
size TTooltipSize
The size of the tooltip.
final
textAlign TextAlign?
Text alignment for the message.
final
textStyle TextStyle?
Custom text style for the message.
final
triggerMode TTooltipTriggerMode
How the tooltip is triggered (hover or tap).
final
type TVariant?
The variant type for theming.
final
verticalOffset double
Vertical offset from the child.
final
waitDuration Duration
Wait duration before the tooltip can be shown again.
final

Methods

createElement() StatefulElement
Creates a StatefulElement to manage this widget's location in the tree.
inherited
createState() State<TTooltip>
Creates the mutable state for this widget at a given location in the tree.
override
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