From f7279a4867de6dcec6095aa9c8f8e0aa8a9ff0ef Mon Sep 17 00:00:00 2001 From: Ortes Date: Mon, 22 Sep 2025 06:39:04 -0300 Subject: [PATCH 1/2] Add feature double tap for fullscreen toggle --- lib/src/material/material_controls.dart | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/src/material/material_controls.dart b/lib/src/material/material_controls.dart index 8d052dd75..cb46cf6e8 100644 --- a/lib/src/material/material_controls.dart +++ b/lib/src/material/material_controls.dart @@ -374,6 +374,9 @@ class _MaterialControlsState extends State }); } }, + onDoubleTap: () { + _onExpandCollapse(); + }, child: Container( alignment: Alignment.center, color: Colors From d276d60035255efd2097e6e909b7d84b132280f6 Mon Sep 17 00:00:00 2001 From: Ortes Date: Mon, 22 Sep 2025 07:11:58 -0300 Subject: [PATCH 2/2] Double tap fullscreen toggle as an option --- lib/src/chewie_player.dart | 7 +++++++ lib/src/material/material_controls.dart | 6 +++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/lib/src/chewie_player.dart b/lib/src/chewie_player.dart index 7ffa295b2..69d93608c 100644 --- a/lib/src/chewie_player.dart +++ b/lib/src/chewie_player.dart @@ -335,6 +335,7 @@ class ChewieController extends ChangeNotifier { this.hideControlsTimer = defaultHideControlsTimer, this.controlsSafeAreaMinimum = EdgeInsets.zero, this.pauseOnBackgroundTap = false, + this.allowDoubleTapToggleFullScreen = true, }) : assert( playbackSpeeds.every((speed) => speed > 0), 'The playbackSpeeds values must all be greater than 0', @@ -394,6 +395,7 @@ class ChewieController extends ChangeNotifier { )? routePageBuilder, bool? pauseOnBackgroundTap, + bool? allowDoubleTapToggleFullScreen, }) { return ChewieController( draggableProgressBar: draggableProgressBar ?? this.draggableProgressBar, @@ -458,6 +460,8 @@ class ChewieController extends ChangeNotifier { progressIndicatorDelay: progressIndicatorDelay ?? this.progressIndicatorDelay, pauseOnBackgroundTap: pauseOnBackgroundTap ?? this.pauseOnBackgroundTap, + allowDoubleTapToggleFullScreen: + allowDoubleTapToggleFullScreen ?? this.allowDoubleTapToggleFullScreen, ); } @@ -630,6 +634,9 @@ class ChewieController extends ChangeNotifier { /// Defines if the player should pause when the background is tapped final bool pauseOnBackgroundTap; + /// Defines if double tap should toggle fullscreen mode + final bool allowDoubleTapToggleFullScreen; + static ChewieController of(BuildContext context) { final chewieControllerProvider = context .dependOnInheritedWidgetOfExactType()!; diff --git a/lib/src/material/material_controls.dart b/lib/src/material/material_controls.dart index cb46cf6e8..6d7ed0702 100644 --- a/lib/src/material/material_controls.dart +++ b/lib/src/material/material_controls.dart @@ -374,9 +374,9 @@ class _MaterialControlsState extends State }); } }, - onDoubleTap: () { - _onExpandCollapse(); - }, + onDoubleTap: chewieController.allowDoubleTapToggleFullScreen + ? _onExpandCollapse + : null, child: Container( alignment: Alignment.center, color: Colors