useAnimationController function Null safety

AnimationController useAnimationController(
  1. {Duration? duration,
  2. Duration? reverseDuration,
  3. String? debugLabel,
  4. double initialValue = 0,
  5. double lowerBound = 0,
  6. double upperBound = 1,
  7. TickerProvider? vsync,
  8. AnimationBehavior animationBehavior = AnimationBehavior.normal,
  9. List<Object?>? keys}
)

Creates an AnimationController automatically disposed.

If no vsync is provided, the TickerProvider is implicitly obtained using useSingleTickerProvider. If a vsync is specified, changing the instance of vsync will result in a call to AnimationController.resync. It is not possible to switch between implicit and explicit vsync.

Changing the duration parameter automatically updates AnimationController.duration.

initialValue, lowerBound, upperBound and debugLabel are ignored after the first call.

See also:

Implementation

AnimationController useAnimationController({
  Duration? duration,
  Duration? reverseDuration,
  String? debugLabel,
  double initialValue = 0,
  double lowerBound = 0,
  double upperBound = 1,
  TickerProvider? vsync,
  AnimationBehavior animationBehavior = AnimationBehavior.normal,
  List<Object?>? keys,
}) {
  vsync ??= useSingleTickerProvider(keys: keys);

  return use(
    _AnimationControllerHook(
      duration: duration,
      reverseDuration: reverseDuration,
      debugLabel: debugLabel,
      initialValue: initialValue,
      lowerBound: lowerBound,
      upperBound: upperBound,
      vsync: vsync,
      animationBehavior: animationBehavior,
      keys: keys,
    ),
  );
}