TouchScale class

A widget that scales its child when pressed and triggers a callback on tap. Commonly used to enhance tap interactions with visual responsiveness.

Example

TouchScale(
  onPress: () => print("Pressed!"),
  child: Text("Hello, World!"),
)
Inheritance

Constructors

TouchScale({Key? key, Duration? previewDuration, Duration? duration, Curve? curve, Duration? reverseDuration, Curve? reverseCurve, double? scale, TouchScaleResolver? resolver, TouchScaleCallPhase? callPhase, TouchScaleBehavior? behavior, TouchScaleRejectBehavior? rejectBehavior, VoidCallback? onPress, VoidCallback? onPressStart, VoidCallback? onPressEnd, VoidCallback? onScaleStart, VoidCallback? onScaleEnd, required Widget child})
const

Properties

behavior → TouchScaleBehavior?
Defines additional visual behavior during a press interaction.
final
callPhase → TouchScaleCallPhase?
Defines the phase in which a touch scale callback is triggered.
final
child → Widget
The widget below this widget in the tree that will be scaled.
final
curve → Curve?
The curve of the forward animation when scaling down.
final
duration → Duration?
The duration of the forward (scale-down) animation.
final
hashCode → int
The hash code for this object.
no setterinherited
key → Key?
Controls how one widget replaces another widget in the tree.
finalinherited
onPress → VoidCallback?
Called when the gesture is accepted and the press is confirmed.
final
onPressEnd → VoidCallback?
Called when the press interaction ends, including cancellation or rejection.
final
onPressStart → VoidCallback?
Called immediately when the pointer starts pressing the widget.
final
onScaleEnd → VoidCallback?
Called when the scale effect ends.
final
onScaleStart → VoidCallback?
Called when the scale effect starts.
final
previewDuration → Duration?
The duration to wait before showing the scale preview effect. If the gesture is rejected before this duration passes, the effect will not appear.
final
rejectBehavior → TouchScaleRejectBehavior?
Defines how the gesture is rejected based on pointer movement.
final
resolver → TouchScaleResolver?
Resolves the scale factor to apply during a press interaction.
final
reverseCurve → Curve?
The curve of the reverse animation when scaling back to original size.
final
reverseDuration → Duration?
The duration of the reverse (scale-up) animation.
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
scale → double?
The fixed scale factor to apply when pressed.
final

Methods

createElement() → StatefulElement
Creates a StatefulElement to manage this widget's location in the tree.
inherited
createState() → State<TouchScale>
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