enterFullScreen method

  1. @override
void enterFullScreen(
  1. BuildContext context
)
override

Implementation

@override
void enterFullScreen(BuildContext context) async {
  _isFullScreen = true;
  await SystemChrome.setPreferredOrientations([
    DeviceOrientation.landscapeRight,
    DeviceOrientation.landscapeLeft,
  ]);
  await SystemChrome.setEnabledSystemUIMode(
    SystemUiMode.immersiveSticky,
    overlays: [],
  );
  WidgetsBinding.instance.addPostFrameCallback((_) async {
    await Navigator.push(
      context,
      PageRouteBuilder<dynamic>(
        pageBuilder: (BuildContext context, _, __) => FullScreenView(
          controller: this,
          configuration: configuration,
        ),
        transitionsBuilder: (context, animation, secondaryAnimation, child) {
          return FadeTransition(
            opacity: animation,
            child: ScaleTransition(
              scale: Tween<double>(begin: 0.95, end: 1.0).animate(
                CurvedAnimation(
                  parent: animation,
                  curve: Curves.easeInOut,
                ),
              ),
              child: child,
            ),
          );
        },
        transitionDuration: const Duration(milliseconds: 300),
        reverseTransitionDuration: const Duration(milliseconds: 300),
      ),
    );
    _isFullScreen = false;
  });
}