diff --git a/lib/pages/setting/widgets/model.dart b/lib/pages/setting/widgets/model.dart index 3684b06e..da21bb51 100644 --- a/lib/pages/setting/widgets/model.dart +++ b/lib/pages/setting/widgets/model.dart @@ -2105,7 +2105,7 @@ List get extraSettings => [ title: '使用可折叠的播放页面', leading: Icon(Icons.video_settings), setKey: SettingBoxKey.collapsibleVideoPage, - defaultVal: false, + defaultVal: true, onChanged: (value) { GStorage.collapsibleVideoPage = value; }, diff --git a/lib/pages/video/detail/view_v.dart b/lib/pages/video/detail/view_v.dart index abf2b516..c03d4e80 100644 --- a/lib/pages/video/detail/view_v.dart +++ b/lib/pages/video/detail/view_v.dart @@ -107,6 +107,7 @@ class _VideoDetailPageVState extends State StreamSubscription? _listenerDetail; StreamSubscription? _listenerLoadingState; StreamSubscription? _listenerCid; + StreamSubscription? _listenerFS; Box get setting => GStorage.setting; @@ -199,6 +200,15 @@ class _VideoDetailPageVState extends State videoDetailController.animationController.addListener(animListener); + if (removeSafeArea) { + _listenerFS = + videoDetailController.plPlayerController.isFullScreen.listen((value) { + if (videoDetailController.direction.value == 'vertical') { + refreshPage(); + } + }); + } + WidgetsBinding.instance.addObserver(this); } @@ -374,6 +384,7 @@ class _VideoDetailPageVState extends State _listenerDetail?.cancel(); _listenerLoadingState?.cancel(); _listenerCid?.cancel(); + _listenerFS?.cancel(); videoDetailController.skipTimer?.cancel(); videoDetailController.skipTimer = null; @@ -691,6 +702,7 @@ class _VideoDetailPageVState extends State (BuildContext context, bool innerBoxIsScrolled) { return [ SliverAppBar( + primary: false, automaticallyImplyLeading: false, pinned: true, expandedHeight: isFullScreen || @@ -723,14 +735,6 @@ class _VideoDetailPageVState extends State showStatusBar(); } } - if (removeSafeArea && - isFullScreen && - videoDetailController.direction.value == - 'vertical') { - WidgetsBinding.instance.addPostFrameCallback((_) { - refreshPage(); - }); - } return Container( color: Colors.black, // showStatusBarBackgroundColor ? null : Colors.black, @@ -742,7 +746,9 @@ class _VideoDetailPageVState extends State Orientation.landscape || removeSafeArea ? 0 - : MediaQuery.of(context).padding.top) + : MediaQuery.of(this.context) + .padding + .top) : videoDetailController.isExpanding || videoDetailController.isCollapsing ? animHeight