diff --git a/lib/pages/video/detail/controller.dart b/lib/pages/video/detail/controller.dart index 93b64361..6eeb2417 100644 --- a/lib/pages/video/detail/controller.dart +++ b/lib/pages/video/detail/controller.dart @@ -150,6 +150,9 @@ class VideoDetailController extends GetxController ? 'horizontal' : 'vertical' : 'horizontal'; + if (GStorage.collapsibleVideoPage.not || scrollCtr.hasClients.not) { + return; + } if (_direction != direction) { _direction = direction; double videoHeight = diff --git a/lib/plugin/pl_player/view.dart b/lib/plugin/pl_player/view.dart index 3ef7df6c..f6da17f0 100644 --- a/lib/plugin/pl_player/view.dart +++ b/lib/plugin/pl_player/view.dart @@ -1138,16 +1138,23 @@ class _PLVideoPlayerState extends State final double totalWidth = renderBox.size.width; final double tapPosition = details.localPosition.dx; final double sectionWidth = totalWidth / 3; + late String gestureType; if (tapPosition < sectionWidth) { // 左边区域 - _gestureType = 'left'; + gestureType = 'left'; } else if (tapPosition < sectionWidth * 2) { // 全屏 - _gestureType = 'center'; + gestureType = 'center'; } else { // 右边区域 - _gestureType = 'right'; + gestureType = 'right'; } + + if (_gestureType != null && _gestureType != gestureType) { + return; + } + _gestureType = gestureType; + if (_gestureType == 'left') { // 左边区域 👈 final double level = renderBox.size.height * 3;