ThenEffect class
A special convenience "effect" that makes it easier to sequence effects after one another. It does this by establishing a new baseline time equal to the previous effect's end time and its own optional delay. All subsequent effect delays are relative to this new baseline.
This example demonstrates ThenEffect and how it interacts with delay:
Text("Hello").animate()
.fadeIn(delay: 300.ms, duration: 500.ms) // end @ 800ms
.then() // baseline=800ms (prior end)
.slide(duration: 400.ms) // start @ 800ms, end @ 1200ms
.then(delay: 300.ms) // baseline=1500ms (1200+300)
.blur(delay: -150.ms) // start @ 1350ms (1500-150)
.tint() // start @ 1350ms (inherited)
.shake(delay: 0.ms) // start @ 1500ms (1500+0)
Constructors
- ThenEffect({Duration? delay, Duration? duration, Curve? curve})
-
const
Properties
- begin → double?
-
The begin value for the effect. If null, effects should use a reasonable
default value when appropriate.
finalinherited
- curve → Curve?
-
The specified easing curve for the effect. If null, will inherit the curve from the
previous effect, or use Animate.defaultCurve if this is the first effect.
finalinherited
- delay → Duration?
-
The specified delay for the effect. If null, will inherit the delay from the
previous effect, or use Duration.zero if this is the first effect.
finalinherited
- duration → Duration?
-
The specified duration for the effect. If null, will inherit the duration from the
previous effect, or use Animate.defaultDuration if this is the first effect.
finalinherited
- end → double?
-
The end value for the effect. If null, effects should use a reasonable
default value when appropriate.
finalinherited
- hashCode → int
-
The hash code for this object.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
build(
BuildContext context, Widget child, AnimationController controller, EffectEntry entry) → Widget -
Builds the widgets that implement the effect on the target
child
, based on the provided AnimationController and EffectEntry.inherited -
buildAnimation(
AnimationController controller, EffectEntry entry) → Animation< double> -
Returns an animation based on the controller, entry, and begin/end values.
inherited
-
getBeginRatio(
AnimationController controller, EffectEntry entry) → double -
Returns a ratio corresponding to the beginning of the specified entry.
inherited
-
getEndRatio(
AnimationController controller, EffectEntry entry) → double -
Returns a ratio corresponding to the end of the specified entry.
inherited
-
getOptimizedBuilder<
U> ({required ValueListenable< U> animation, Widget? child, required TransitionBuilder builder}) → AnimatedBuilder -
Returns an optimized AnimatedBuilder that doesn't
rebuild if the value hasn't changed.
inherited
-
getToggleBuilder(
{required ValueListenable< double> animation, required Widget child, required bool toggle(), required ToggleEffectBuilder builder}) → AnimatedBuilder -
Returns an AnimatedBuilder that rebuilds when the
boolean value returned by the
toggle
function changes.inherited -
isAnimationActive(
Animation animation) → bool -
Check if the animation is currently running / active.
inherited
-
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