From cd38c0799d4f4479dbdc048b5080df3dabea78e3 Mon Sep 17 00:00:00 2001 From: guozhigq Date: Sun, 3 Sep 2023 14:36:44 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E7=AB=96=E5=B1=8F=E7=8A=B6=E6=80=81?= =?UTF-8?q?=E4=B8=8B=E7=B3=BB=E7=BB=9F=E7=8A=B6=E6=80=81=E6=A0=8F=E4=B8=8D?= =?UTF-8?q?=E9=9A=90=E8=97=8F=20issues#58?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/plugin/pl_player/controller.dart | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/lib/plugin/pl_player/controller.dart b/lib/plugin/pl_player/controller.dart index fe63cc3d..d373bdbc 100644 --- a/lib/plugin/pl_player/controller.dart +++ b/lib/plugin/pl_player/controller.dart @@ -16,6 +16,7 @@ import 'package:pilipala/plugin/pl_player/index.dart'; import 'package:pilipala/utils/feed_back.dart'; import 'package:pilipala/utils/storage.dart'; import 'package:screen_brightness/screen_brightness.dart'; +import 'package:status_bar_control/status_bar_control.dart'; import 'package:universal_platform/universal_platform.dart'; // import 'package:wakelock_plus/wakelock_plus.dart'; @@ -754,7 +755,7 @@ class PlPlayerController { Future triggerFullScreen({bool status = true}) async { FullScreenMode mode = FullScreenModeCode.fromCode( setting.get(SettingBoxKey.fullScreenMode, defaultValue: 0))!; - + await StatusBarControl.setHidden(true, animation: StatusBarAnimation.FADE); if (!isFullScreen.value && status) { /// 按照视频宽高比决定全屏方向 switch (mode) { @@ -773,7 +774,7 @@ class PlPlayerController { /// 进入全屏 await enterFullScreen(); - // 横屏 + // 竖屏 await verticalScreen(); break; case FullScreenMode.horizontal: @@ -791,20 +792,28 @@ class PlPlayerController { useSafeArea: false, builder: (context) => Dialog.fullscreen( backgroundColor: Colors.black, - child: PLVideoPlayer( - controller: this, - headerControl: headerControl, - danmuWidget: danmuWidget, + child: SafeArea( + bottom: + direction.value == 'vertical' || mode == FullScreenMode.vertical + ? true + : false, + child: PLVideoPlayer( + controller: this, + headerControl: headerControl, + danmuWidget: danmuWidget, + ), ), ), ); if (result == null) { // 退出全屏 + StatusBarControl.setHidden(false, animation: StatusBarAnimation.FADE); exitFullScreen(); await verticalScreen(); toggleFullScreen(false); } } else if (isFullScreen.value) { + StatusBarControl.setHidden(false, animation: StatusBarAnimation.FADE); Get.back(); exitFullScreen(); await verticalScreen();