AnimationState class

Animation state for a single node (standalone animations only).

Only nodes that are actively animating via individual expand/collapse have an AnimationState. Bulk operations (expandAll/collapseAll) track nodes directly in AnimationGroup sets without creating AnimationState objects. Once animation completes, the state is removed.

Constructors

AnimationState({required AnimationType type, required double startExtent, required double targetExtent, double progress = 0.0, Object? triggeringAncestorId, double speedMultiplier = 1.0})

Properties

currentExtent double
The interpolated current extent.
getter/setter pair
hashCode int
The hash code for this object.
no setterinherited
isComplete bool
Whether this animation has completed.
no setter
progress double
Animation progress from 0.0 to 1.0.
getter/setter pair
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
speedMultiplier double
Speed multiplier for proportional timing on cross-group transitions. Values > 1.0 make the animation complete proportionally faster.
final
startExtent double
The extent (height) at animation start. Mutable to allow updates when the actual size is measured.
getter/setter pair
targetExtent double
The extent (height) at animation end. Mutable to allow updates when the actual size is measured.
getter/setter pair
triggeringAncestorId Object?
If this animation was triggered by an ancestor expanding/collapsing, this is that ancestor's ID. Used to coordinate grouped animations.
final
type AnimationType
The type of animation.
final

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
override
updateExtent([Curve curve = Curves.linear]) → void
Updates currentExtent based on progress and an optional curve.

Operators

operator ==(Object other) bool
The equality operator.
inherited