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:
- TTooltipPosition for position options
- TTooltipTriggerMode for trigger modes
- Inheritance
-
- Object
- DiagnosticableTree
- Widget
- StatefulWidget
- TTooltip
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