TouchScale class

A widget that scales down 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, TouchScaleResolver? resolver, TouchScaleCallPhase? callPhase, TouchScaleBehavior? behavior, required VoidCallback onPress, required Widget child})
const

Properties

behavior TouchScaleBehavior?
Resolves the scale factor to apply during a press interaction. e.g. a value of 0.9 scales the widget to 90% of its original size.
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
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
resolver TouchScaleResolver?
The scale factor to apply when pressed. For example, 0.9 means 90% of the original size.
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

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