StretchAct class

Animates non-uniform scaling with separate X and Y scale factors.

Unlike ScaleAct, which scales both axes equally, StretchAct allows independent control over horizontal and vertical scaling.

Use separate Stretch values for from and to to specify different X and Y factors. The scaling occurs around a fixed center alignment.

Basic Stretch Animation

Actor(
  acts: [
    .stretch(
      from: Stretch(x: 1.0, y: 1.0),
      to: Stretch(x: 1.2, y: 0.8),
    ),
  ],
  child: MyWidget(),
)

Vertical Compression

// Compress vertically while maintaining horizontal size
Actor(
  acts: [
    .stretch(
      from: Stretch.none,
      to: Stretch(x: 1.0, y: 0.5),
      motion: Spring.smooth(damping: 23),
    ),
  ],
  child: MyWidget(),
)

Width Animation Only

// Animate width while keeping height constant
Actor(
  acts: [
    .stretch(
      from: Stretch(x: 1.0, y: 1.0),
      to: Stretch(x: 1.5, y: 1.0),
    ),
  ],
  child: MyWidget(),
)

Keyframe Sequences

Actor(
  acts: [
    StretchAct  .keyframed(
      frames: Keyframes.fractional([
        .key(Stretch.none, at: 0.0),
        .key(Stretch(x: 1.2, y: 0.8), at: 0.5),
        .key(Stretch.none, at: 1.0),
      ], duration: 1000.ms),
    ),
  ],
  child: MyWidget(),
)
Inheritance

Constructors

StretchAct({Stretch from = Stretch.none, Stretch to = Stretch.none, CueMotion? motion, ReverseBehavior<Stretch> reverse = const ReverseBehavior.mirror(), Duration delay = Duration.zero, AlignmentGeometry alignment = Alignment.center})
Animates non-uniform scaling with separate X and Y factors.
const
StretchAct.keyframed({required Keyframes<Stretch> frames, KFReverseBehavior<Stretch> reverse = const KFReverseBehavior.mirror(), Duration delay = Duration.zero, AlignmentGeometry alignment = Alignment.center})
Animates through multiple non-uniform stretch keyframes.
const

Properties

alignment → AlignmentGeometry
The alignment point around which stretching occurs.
final
delay → Duration
Delay before this act's forward animation starts.
finalinherited
frames → Keyframes<Stretch>?
Keyframes for this act (keyframed mode only).
finalinherited
from → Stretch?
The initial animated value for this tween.
finalinherited
hashCode → int
The hash code for this object.
no setteroverride
isConstant → bool
Whether this tween is a no-op (from == to).
no setterinherited
key → ActKey
The unique identifier for this act type.
final
motion → CueMotion?
Per-act motion override. When non-null, replaces the motion inherited from Actor or Cue for this act only.
finalinherited
reverse → ReverseBehaviorBase<Stretch>
Reverse behavior for this act — controls what happens when the animation plays in reverse.
finalinherited
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
to → Stretch?
The final animated value for this tween (tween mode only).
finalinherited

Methods

apply(BuildContext context, covariant Animation<Stretch> animation, Widget child) → Widget
Applies the animated value to child and returns the resulting widget.
applyInternal(BuildContext context, covariant CueAnimation<Object?> animation, Widget child) → Widget
Delegates to apply after asserting that animation has the expected type CueAnimation<R>.
inherited
buildAnimation(CueTimeline timline, ActContext context) → CueAnimation<Stretch>
Builds and registers the animation tracks on timline, returning a CueAnimation that provides the current animated value at each frame.
inherited
buildAnimtable(ActContext context) → CueAnimtable<Stretch>
Assembles the forward and reverse animatables into a single CueAnimtable, wrapping them in a DualAnimatable when a separate reverse animatable is present.
inherited
buildTweens(ActContext context) → (CueAnimtable<Stretch>, CueAnimtable<Stretch>?)
Implements the core reverse behavior logic for tween and keyframed acts.
inherited
createSingleTween(Stretch from, Stretch to) → Animatable<Stretch>
Creates a single Animatable from from to to values.
override
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
resolve(ActContext context) → ActContext
Resolves the final ActContext for this act by calling resolveMotion.
inherited
resolveTween(ActContext context, {required Stretch? from, required Stretch? to, Stretch? iniitalkeyframe, Stretch? implicitFrom, bool forReverse = false, required Keyframes<Stretch>? keyframes}) → CueAnimtable<Stretch>
Builds a CueAnimtable from tween or keyframe values.
inherited
toString() → String
A string representation of this object.
inherited
transform(ActContext _, Stretch value) → Stretch
Identity transform — returns the input value unchanged.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
override