fix: 竖屏状态下系统状态栏不隐藏 issues#58

This commit is contained in:
guozhigq
2023-09-03 14:36:44 +08:00
parent 4036262bed
commit cd38c0799d

View File

@ -16,6 +16,7 @@ import 'package:pilipala/plugin/pl_player/index.dart';
import 'package:pilipala/utils/feed_back.dart'; import 'package:pilipala/utils/feed_back.dart';
import 'package:pilipala/utils/storage.dart'; import 'package:pilipala/utils/storage.dart';
import 'package:screen_brightness/screen_brightness.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:universal_platform/universal_platform.dart';
// import 'package:wakelock_plus/wakelock_plus.dart'; // import 'package:wakelock_plus/wakelock_plus.dart';
@ -754,7 +755,7 @@ class PlPlayerController {
Future<void> triggerFullScreen({bool status = true}) async { Future<void> triggerFullScreen({bool status = true}) async {
FullScreenMode mode = FullScreenModeCode.fromCode( FullScreenMode mode = FullScreenModeCode.fromCode(
setting.get(SettingBoxKey.fullScreenMode, defaultValue: 0))!; setting.get(SettingBoxKey.fullScreenMode, defaultValue: 0))!;
await StatusBarControl.setHidden(true, animation: StatusBarAnimation.FADE);
if (!isFullScreen.value && status) { if (!isFullScreen.value && status) {
/// 按照视频宽高比决定全屏方向 /// 按照视频宽高比决定全屏方向
switch (mode) { switch (mode) {
@ -773,7 +774,7 @@ class PlPlayerController {
/// 进入全屏 /// 进入全屏
await enterFullScreen(); await enterFullScreen();
// //
await verticalScreen(); await verticalScreen();
break; break;
case FullScreenMode.horizontal: case FullScreenMode.horizontal:
@ -791,20 +792,28 @@ class PlPlayerController {
useSafeArea: false, useSafeArea: false,
builder: (context) => Dialog.fullscreen( builder: (context) => Dialog.fullscreen(
backgroundColor: Colors.black, backgroundColor: Colors.black,
child: SafeArea(
bottom:
direction.value == 'vertical' || mode == FullScreenMode.vertical
? true
: false,
child: PLVideoPlayer( child: PLVideoPlayer(
controller: this, controller: this,
headerControl: headerControl, headerControl: headerControl,
danmuWidget: danmuWidget, danmuWidget: danmuWidget,
), ),
), ),
),
); );
if (result == null) { if (result == null) {
// 退出全屏 // 退出全屏
StatusBarControl.setHidden(false, animation: StatusBarAnimation.FADE);
exitFullScreen(); exitFullScreen();
await verticalScreen(); await verticalScreen();
toggleFullScreen(false); toggleFullScreen(false);
} }
} else if (isFullScreen.value) { } else if (isFullScreen.value) {
StatusBarControl.setHidden(false, animation: StatusBarAnimation.FADE);
Get.back(); Get.back();
exitFullScreen(); exitFullScreen();
await verticalScreen(); await verticalScreen();