diff --git a/lib/pages/bangumi/introduction/controller.dart b/lib/pages/bangumi/introduction/controller.dart index 6af014a0..df01659b 100644 --- a/lib/pages/bangumi/introduction/controller.dart +++ b/lib/pages/bangumi/introduction/controller.dart @@ -480,11 +480,9 @@ class BangumiIntroController extends CommonController { // 重新请求评论 if (videoDetailCtr.showReply) { try { - /// 未渲染回复组件时可能异常 - VideoReplyController videoReplyCtr = - Get.find(tag: Get.arguments['heroTag']); - videoReplyCtr.aid = aid; - videoReplyCtr.onRefresh(); + Get.find(tag: Get.arguments['heroTag']) + ..aid = aid + ..onReload(); } catch (_) {} } diff --git a/lib/pages/video/detail/introduction/controller.dart b/lib/pages/video/detail/introduction/controller.dart index 199196ab..76994d7b 100644 --- a/lib/pages/video/detail/introduction/controller.dart +++ b/lib/pages/video/detail/introduction/controller.dart @@ -639,7 +639,7 @@ class VideoIntroController extends GetxController try { Get.find(tag: heroTag) ..aid = aid - ..onRefresh(); + ..onReload(); } catch (_) {} } diff --git a/lib/pages/video/detail/view.dart b/lib/pages/video/detail/view.dart index 2b7dc0a4..a5e6c05d 100644 --- a/lib/pages/video/detail/view.dart +++ b/lib/pages/video/detail/view.dart @@ -584,7 +584,10 @@ class _VideoDetailPageState extends State !isFullScreen && isShowing && mounted) { - if (!removeSafeArea) showStatusBar(); + if (videoDetailController.imageStatus.not && + removeSafeArea.not) { + showStatusBar(); + } } return Container( color: Colors.black, @@ -1228,9 +1231,8 @@ class _VideoDetailPageState extends State videoDetailController.tabCtr = TabController( vsync: this, length: tabs.length, - initialIndex: tabs.length > videoDetailController.tabCtr.length - ? videoDetailController.tabCtr.index - : 0, + initialIndex: + videoDetailController.tabCtr.index.clamp(0, tabs.length - 1), ); } diff --git a/lib/plugin/pl_player/utils/fullscreen.dart b/lib/plugin/pl_player/utils/fullscreen.dart index bf8c1638..cd59a641 100644 --- a/lib/plugin/pl_player/utils/fullscreen.dart +++ b/lib/plugin/pl_player/utils/fullscreen.dart @@ -5,6 +5,7 @@ import 'package:device_info_plus/device_info_plus.dart'; import 'package:auto_orientation/auto_orientation.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/services.dart'; +import 'package:status_bar_control/status_bar_control.dart'; import '../../../utils/storage.dart'; @@ -74,6 +75,7 @@ Future hideStatusBar() async { await SystemChrome.setEnabledSystemUIMode( SystemUiMode.immersiveSticky, ); + StatusBarControl.setHidden(true); } //退出全屏显示 @@ -92,6 +94,7 @@ Future showStatusBar() async { mode, overlays: SystemUiOverlay.values, ); + StatusBarControl.setHidden(false); } else if (Platform.isMacOS || Platform.isWindows || Platform.isLinux) { await const MethodChannel('com.alexmercerind/media_kit_video') .invokeMethod(