useAnimationController function

AnimationController useAnimationController({
  1. TickerProvider? vsync,
  2. double? value,
  3. Duration? duration,
  4. Duration? reverseDuration,
  5. double lowerBound = 0.0,
  6. double upperBound = 1.0,
  7. AnimationBehavior animationBehavior = AnimationBehavior.normal,
})

Creates an animation controller

The controller will be automatically disposed when the component is unmounted

Implementation

AnimationController useAnimationController({
  TickerProvider? vsync,
  double? value,
  Duration? duration,
  Duration? reverseDuration,
  double lowerBound = 0.0,
  double upperBound = 1.0,
  AnimationBehavior animationBehavior = AnimationBehavior.normal,
}) {
  final vsyncProvider = vsync ?? useSingleTickerProvider();
  final controller = useMemoized(
      () => AnimationController(
            vsync: vsyncProvider,
            value: value,
            duration: duration,
            reverseDuration: reverseDuration,
            lowerBound: lowerBound,
            upperBound: upperBound,
            animationBehavior: animationBehavior,
          ),
      (controller) => controller.dispose());

  return controller;
}