HintTheme class
Hint theme — a product design-system ThemeExtension.
The product describes hints as part of its design system: register
HintTheme in ThemeData.extensions — and every tooltip/scrim
inherits it automatically, with no per-screen configuration. Light/dark is
solved by the same mechanism as the rest of the UI (different ThemeData).
Zero-config: without registration, HintThemeX.hintTheme returns the
HintTheme.minimal default derived from ColorScheme — a hint looks
"Material-native" rather than "library-ish", even before the product
defines its own theme.
- Inheritance
-
- Object
- ThemeExtension<
HintTheme> - HintTheme
- Annotations
Constructors
- HintTheme({required Color tooltipBackground, required Color tooltipForeground, required Color scrimColor, required BorderRadius tooltipRadius, required EdgeInsets tooltipPadding, TextStyle? tooltipTitleStyle, TextStyle? tooltipDescriptionStyle, bool showTail = true, ImageFilter? imageFilter, bool showPulse = false})
-
const
- HintTheme.minimal(ColorScheme scheme)
-
Default derived from a ColorScheme (inverseSurface pair).
factory
Properties
- hashCode → int
-
The hash code for this object.
no setterinherited
- imageFilter → ImageFilter?
-
Optional background blur behind the scrim (
ImageFilter.blur(...)), replacing the plain dim with a "frosted" look. Off by default: the plain dim is cheaper (zero backdrop sampling). When set, the scrim is rendered in the global layer (the hole rect comes from the position watcher, one frame behind the compositor — the same lag as the tooltip), instead of the live follower painter.final - runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- scrimColor → Color
-
Screen dimming around the target (scrim).
final
- showPulse → bool
-
A pulsing ring around the primary target (Material feature-discovery
pattern). Off by default; the animation runs only while a step is
active with this flag on.
final
- showTail → bool
-
The tail (arrow from the tooltip toward the target). On by default —
it is what visually ties the tooltip to the hole; set false for a
floating-callout look. Applies to the default tooltip only: a custom
tooltipBuilderowns its look entirely.final - tooltipBackground → Color
-
Tooltip background (default —
inverseSurfaceof the ColorScheme).final - tooltipDescriptionStyle → TextStyle?
-
final
- tooltipForeground → Color
-
Tooltip text and accents (default —
onInverseSurface).final - tooltipPadding → EdgeInsets
-
final
- tooltipRadius → BorderRadius
-
final
- tooltipTitleStyle → TextStyle?
-
Title/description styles; null — the tooltip resolves defaults from
tooltipForeground (a partially custom theme does not break
zero-config).
final
- type → Object
-
The extension's type.
no setterinherited
Methods
-
copyWith(
{Color? tooltipBackground, Color? tooltipForeground, Color? scrimColor, BorderRadius? tooltipRadius, EdgeInsets? tooltipPadding, TextStyle? tooltipTitleStyle, TextStyle? tooltipDescriptionStyle, bool? showTail, ImageFilter? imageFilter, bool? showPulse}) → HintTheme -
Creates a copy of this theme extension with the given fields
replaced by the non-null parameter values.
override
-
lerp(
covariant HintTheme? other, double t) → HintTheme -
Linearly interpolate with another ThemeExtension object.
override
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited