build method
Widget
build({
- required Animation<
double> animation, - required Widget child,
- Map<
String, Object?> params = const {},
override
Builds the animated widget for the forward direction.
animation — 0.0 → 1.0 where 0.0 = invisible/start, 1.0 = visible/end.
child — the widget being animated.
params — optional configuration map (typed by each plugin).
Concrete subclasses must override this method.
Implementation
@override
Widget build({
required Animation<double> animation,
required Widget child,
Map<String, Object?> params = const {},
}) {
final dir =
(params['direction'] as SlideDirection?) ?? SlideDirection.up;
final distance = (params['distance'] as double?) ?? 1.0;
final begin = switch (dir) {
SlideDirection.up => Offset(0.0, distance),
SlideDirection.down => Offset(0.0, -distance),
SlideDirection.left => Offset(distance, 0.0),
SlideDirection.right => Offset(-distance, 0.0),
};
final tween = Tween<Offset>(begin: begin, end: Offset.zero);
return SlideTransition(position: tween.animate(animation), child: child);
}