glassOverlay static method

PageRouteBuilder glassOverlay({
  1. required Widget page,
  2. Duration duration = const Duration(milliseconds: 400),
})
  1. 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,
      );
    },
  );
}