createAnimatedWidget static method

Widget createAnimatedWidget({
  1. required Widget child,
  2. required String animationType,
  3. Map<String, dynamic>? animationProperties,
  4. AnimationController? controller,
})

Creates an animated widget based on animation type

Supported animation types:

  • 'fade': FadeTransition animation
  • 'slide': SlideTransition animation
  • 'scale': ScaleTransition animation
  • 'rotation': RotationTransition animation

Animation properties:

  • duration: Animation duration in milliseconds (default: 300)
  • curve: Animation curve (default: 'easeInOut')
  • delay: Delay before animation starts in milliseconds (default: 0)
  • repeat: Whether to repeat animation (default: false)
  • reverse: Whether to reverse animation (default: false)

Implementation

static Widget createAnimatedWidget({
  required Widget child,
  required String animationType,
  Map<String, dynamic>? animationProperties,
  AnimationController? controller,
}) {
  final properties = animationProperties ?? {};

  switch (animationType.trim().toLowerCase()) {
    case 'fade':
      return _createFadeAnimation(child, properties, controller);
    case 'slide':
      return _createSlideAnimation(child, properties, controller);
    case 'scale':
      return _createScaleAnimation(child, properties, controller);
    case 'rotation':
      return _createRotationAnimation(child, properties, controller);
    default:
      return child;
  }
}