IntervalDuration.delayed constructor
Creates an IntervalDuration with delay-based timing.
This factory constructor makes it easier to specify delays from the start and end of the animation rather than absolute timing positions.
Parameters:
startDelay
(Duration?, optional): Delay before animation starts.endDelay
(Duration?, optional): How much earlier animation should end.duration
(Duration, required): Base animation duration.
The total timeline duration becomes duration
+ startDelay
+ endDelay
.
Example:
// Animation with 200ms start delay and ending 100ms early
IntervalDuration.delayed(
startDelay: Duration(milliseconds: 200),
endDelay: Duration(milliseconds: 100),
duration: Duration(seconds: 1),
);
Implementation
factory IntervalDuration.delayed({
Duration? startDelay,
Duration? endDelay,
required Duration duration,
}) {
if (startDelay != null) {
duration += startDelay;
}
if (endDelay != null) {
duration += endDelay;
}
return IntervalDuration(
start: startDelay,
end: endDelay == null ? null : duration - endDelay,
duration: duration,
);
}