TargetRectGetter constructor
TargetRectGetter({
- required FocusTarget target,
- required TickerProvider animationVsync,
- required ValueChanged<
FocusRect> onRectGet, - required Duration defaultAnimationDuration,
- required FocusAnimationType defaultAnimationType,
- required Curve defaultAnimationCurve,
- bool rootOverlay = false,
Implementation
TargetRectGetter({
required this.target,
required TickerProvider animationVsync,
required this.onRectGet,
required Duration defaultAnimationDuration,
required FocusAnimationType defaultAnimationType,
required Curve defaultAnimationCurve,
this.rootOverlay = false,
}) : animationType = target.animationType ?? defaultAnimationType {
_controller = AnimationController(
duration: target.animationDuration ?? defaultAnimationDuration,
vsync: animationVsync,
);
final curveAnimation = CurvedAnimation(
parent: _controller,
curve: target.animationCurve ?? defaultAnimationCurve,
);
_progressCenterAnimation = Tween(
begin: 0.0,
end: 1.0,
).animate(curveAnimation);
_progressScreenAnimation = Tween(
begin: 1.0,
end: 0.0,
).animate(curveAnimation);
_descAnimation = CurvedAnimation(
parent: _controller,
curve: Curves.easeInQuint,
);
_controller.addListener(_syncRect);
}