ButtonSplashStyle class
ButtonSplashStyle defines customizable splash effects for buttons. Use factory constructors to create different splash styles.
Constructors
-
ButtonSplashStyle.custom({required InteractiveInkFeatureFactory splashFactory, Color? splashColor, Color? highlightColor, double splashOpacity = 0.12, double highlightOpacity = 0.06, BorderRadius? borderRadius, bool bounded = true, WidgetStateProperty<
Color?> ? overlayColor}) -
Custom splash with full control
factory
-
ButtonSplashStyle.glow({Color? glowColor, double glowOpacity = 0.15, BorderRadius? borderRadius, WidgetStateProperty<
Color?> ? overlayColor}) -
Soft glow effect that radiates from touch point
Creates a softer, more organic feel
factory
-
ButtonSplashStyle.highlight({Color? highlightColor, double highlightOpacity = 0.08, BorderRadius? borderRadius, WidgetStateProperty<
Color?> ? overlayColor}) -
Subtle highlight effect without ripple animation
Good for minimal/clean designs
factory
-
ButtonSplashStyle.ink({Color? inkColor, double inkOpacity = 0.1, BorderRadius? borderRadius, WidgetStateProperty<
Color?> ? overlayColor}) -
Quick ink splash effect
Faster, more responsive feel
factory
- ButtonSplashStyle.none()
-
No splash effect
Clean press without visual feedback (use with animations instead)
const
-
ButtonSplashStyle.ripple({Color? splashColor, Color? highlightColor, double splashOpacity = 0.12, double highlightOpacity = 0.06, BorderRadius? borderRadius, WidgetStateProperty<
Color?> ? overlayColor}) -
Standard Material ripple effect (default)
Circular ripple expands from touch point
factory
Properties
- animationDuration → Duration?
-
final
- borderRadius → BorderRadius?
-
final
- bounded → bool
-
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- highlightColor → Color?
-
final
- highlightOpacity → double?
-
final
-
overlayColor
→ WidgetStateProperty<
Color?> ? -
Optional overlay color for WidgetStateProperty-based control.
When set, this takes precedence over splashColor/highlightColor.
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- splashColor → Color?
-
final
- splashFactory → InteractiveInkFeatureFactory?
-
final
- splashOpacity → double?
-
final
- type → ButtonSplashType
-
final
Methods
-
copyWith(
{ButtonSplashType? type, Color? splashColor, Color? highlightColor, double? splashOpacity, double? highlightOpacity, BorderRadius? borderRadius, bool? bounded, Duration? animationDuration, InteractiveInkFeatureFactory? splashFactory, WidgetStateProperty< Color?> ? overlayColor}) → ButtonSplashStyle - Create a copy with modified properties
-
getHighlightColor(
BuildContext context, Color fallbackColor) → Color - Get the resolved highlight color with opacity applied
-
getOverlayColor(
) → WidgetStateProperty< Color?> ? - Get the resolved overlay color for InkWell. Returns transparent for ButtonSplashType.none to fully disable feedback.
-
getSplashColor(
BuildContext context, Color fallbackColor) → Color - Get the resolved splash color with opacity applied
-
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