iconToggleTransition property
FxViewTransitionTheme
get
iconToggleTransition
Implementation
FxViewTransitionTheme get iconToggleTransition => FxViewTransitionTheme(
duration: const Duration(milliseconds: 350),
switchInCurve: Curves.easeOutBack,
switchOutCurve: Curves.easeInBack,
transitionBuilder: (child, anim) {
// Incoming icon spins in from 180° → 0°
final turnIn = Tween<double>(begin: 0.5, end: 0.0).animate(anim);
// Outgoing icon spins out 0° → -90°
final turnOut = Tween<double>(begin: 0.0, end: -0.25).animate(
ReverseAnimation(anim),
);
return RotationTransition(
turns: anim.status == AnimationStatus.reverse ? turnOut : turnIn,
child: FadeTransition(
opacity: anim,
child: ScaleTransition(
scale: Tween<double>(begin: 0.85, end: 1.0).animate(anim),
child: child,
)
),
);
},
);