Skip to content

Tooltip

A tooltip component that displays information when users hover over or focus on an element.

The QuickTip widget provides a flexible way to show additional information or custom content in a tooltip-style popup. It supports different directions, customizable appearance, and various trigger modes.

  • Directions: Up, Down, Left, Right
  • Content Types: Text message or custom widget content
  • Customizable: Supports custom styling, animations, and positioning

Basic tooltip that appears above the trigger widget.


Tooltip that appears below the trigger widget.


Tooltip that appears to the left of the trigger widget.


Tooltip that appears to the right of the trigger widget.


Tooltip without the pointing tail.


Tooltip with custom widget content instead of text.


PropertyTypeDescription
childWidgetRequired. The widget that triggers the tooltip.
messageString?Text message to display in the tooltip.
contentWidget?Custom widget to display instead of text message.
directionAxisDirectionDirection where tooltip appears (up, down, left, right). Default: up.
triggerModeTooltipTriggerMode?How tooltip is triggered (tap, longPress, hover). Default: tap.
backgroundColorColor?Background color of the tooltip.
elevationdoubleShadow elevation of the tooltip. Default: 4.
borderRadiusBorderRadiusGeometryBorder radius of the tooltip. Default: 4px.
tailLengthdoubleLength of the tooltip’s tail. Set to 0 to hide. Default: 8.
tailBaseWidthdoubleWidth of the tail’s base. Default: 12.
offsetdoubleDistance between tooltip and trigger widget. Default: 4.
marginEdgeInsetsGeometryMargin around the tooltip. Default: 8px all sides.
onShowVoidCallback?Callback when tooltip is shown.
onDismissVoidCallback?Callback when tooltip is dismissed.
controllerTooltipController?Controller for programmatically showing/hiding tooltip.
isModalboolIf true, blocks interaction with widgets behind. Default: false.
waitDurationDuration?Delay before showing tooltip on hover.
showDurationDuration?How long tooltip remains visible.
hoverShowDurationDuration?Custom show duration for hover trigger.
fadeInDurationDurationAnimation duration when showing. Default: 150ms.
fadeOutDurationDurationAnimation duration when hiding. Default: 75ms.
curveCurveAnimation curve when showing. Default: easeInOut.
reverseCurveCurveAnimation curve when hiding. Default: easeInOut.
barrierDismissibleboolIf modal, can click outside to dismiss. Default: true .
barrierColorColorColor of modal barrier. Default: transparent.
barrierBuilderWidget Function(BuildContext, Animation<double>, VoidCallback)?Custom barrier widget builder.
enableFeedbackbool?Enable haptic/sound feedback on interaction.
tailBuilderPath Function(Offset, Offset, Offset)Custom tail shape builder.
animatedTransitionBuilderWidget Function(BuildContext, Animation<double>, Widget?)Custom animation builder.
textDirectionTextDirectionText direction. Default: TextDirection.ltr.
shadowShadow?Custom shadow instead of elevation.
showWhenUnlinkedboolShow when trigger is removed. Default: false.
scrollControllerScrollController?Controller for scrollable ancestor.
textStyleTextStyle?Custom text style for the message.