glassOverlay static method
- Cyber Glass overlay backdrop blur transition
Implementation
static PageRouteBuilder glassOverlay(
{required Widget page,
Duration duration = const Duration(milliseconds: 400)}) {
return PageRouteBuilder(
opaque: false,
barrierColor: Colors.black.withValues(alpha: 0.4),
pageBuilder: (context, animation, secondaryAnimation) => page,
transitionDuration: duration,
reverseTransitionDuration: duration,
transitionsBuilder: (context, animation, secondaryAnimation, child) {
return AnimatedBuilder(
animation: animation,
builder: (context, child) {
final blurVal = animation.value * 12.0;
return BackdropFilter(
filter: ImageFilter.blur(sigmaX: blurVal, sigmaY: blurVal),
child: FadeTransition(
opacity: animation,
child: child,
),
);
},
child: child,
);
},
);
}