diff --git a/lib/pages/video/detail/view.dart b/lib/pages/video/detail/view.dart index 29566e7b..f70da494 100644 --- a/lib/pages/video/detail/view.dart +++ b/lib/pages/video/detail/view.dart @@ -302,7 +302,10 @@ class _VideoDetailPageState extends State return [ Obx(() => SliverAppBar( automaticallyImplyLeading: false, - pinned: false, + // 假装使用一个非空变量,避免Obx检测不到而罢工 + pinned: videoDetailController + .autoPlay.value ^ false ^ videoDetailController + .autoPlay.value, elevation: 0, scrolledUnderElevation: 0, forceElevated: innerBoxIsScrolled, diff --git a/lib/plugin/pl_player/models/bottom_progress_behavior.dart b/lib/plugin/pl_player/models/bottom_progress_behavior.dart index c632669c..c7f1453d 100644 --- a/lib/plugin/pl_player/models/bottom_progress_behavior.dart +++ b/lib/plugin/pl_player/models/bottom_progress_behavior.dart @@ -3,14 +3,15 @@ enum BtmProgresBehavior { alwaysShow, alwaysHide, onlyShowFullScreen, + onlyHideFullScreen, } extension BtmProgresBehaviorDesc on BtmProgresBehavior { - String get description => ['始终展示', '始终隐藏', '仅全屏时展示'][index]; + String get description => ['始终展示', '始终隐藏', '仅全屏时展示', '仅全屏时隐藏'][index]; } extension BtmProgresBehaviorCode on BtmProgresBehavior { - static final List _codeList = [0, 1, 2]; + static final List _codeList = [0, 1, 2, 3]; int get code => _codeList[index]; static BtmProgresBehavior? fromCode(int code) { diff --git a/lib/plugin/pl_player/view.dart b/lib/plugin/pl_player/view.dart index 89b85607..781fa614 100644 --- a/lib/plugin/pl_player/view.dart +++ b/lib/plugin/pl_player/view.dart @@ -610,6 +610,10 @@ class _PLVideoPlayerState extends State BtmProgresBehavior.onlyShowFullScreen.code && !_.isFullScreen.value) { return Container(); + } else if (defaultBtmProgressBehavior == + BtmProgresBehavior.onlyHideFullScreen.code && + _.isFullScreen.value) { + return Container(); } if (_.videoType.value == 'live') {