diff --git a/lib/common/widgets/gesture/horizontal_drag_gesture_recognizer.dart b/lib/common/widgets/gesture/horizontal_drag_gesture_recognizer.dart index e79cdef08..49a2b7680 100644 --- a/lib/common/widgets/gesture/horizontal_drag_gesture_recognizer.dart +++ b/lib/common/widgets/gesture/horizontal_drag_gesture_recognizer.dart @@ -22,31 +22,40 @@ class CustomHorizontalDragGestureRecognizer PointerDeviceKind pointerDeviceKind, double? deviceTouchSlop, ) { - return globalDistanceMoved.abs() > _computeHitSlop(pointerDeviceKind) && - _cacl(_initialPosition!, lastPosition.global, gestureSettings); - } - - static bool _cacl( - Offset initialPosition, - Offset lastPosition, - DeviceGestureSettings? gestureSettings, - ) { - final offset = lastPosition - initialPosition; - return offset.dx.abs() > offset.dy.abs() * 3; + return _computeHitSlop( + globalDistanceMoved.abs(), + gestureSettings, + pointerDeviceKind, + _initialPosition!, + lastPosition.global, + ); } } double touchSlopH = Pref.touchSlopH; -double _computeHitSlop(PointerDeviceKind kind) { +bool _computeHitSlop( + double globalDistanceMoved, + DeviceGestureSettings? settings, + PointerDeviceKind kind, + Offset initialPosition, + Offset lastPosition, +) { switch (kind) { case PointerDeviceKind.mouse: - return kPrecisePointerHitSlop; + return globalDistanceMoved > kPrecisePointerHitSlop; case PointerDeviceKind.stylus: case PointerDeviceKind.invertedStylus: case PointerDeviceKind.unknown: case PointerDeviceKind.touch: + return globalDistanceMoved > touchSlopH && + _cacl(initialPosition, lastPosition); case PointerDeviceKind.trackpad: - return touchSlopH; + return globalDistanceMoved > (settings?.touchSlop ?? kTouchSlop); } } + +bool _cacl(Offset initialPosition, Offset lastPosition) { + final offset = lastPosition - initialPosition; + return offset.dx.abs() > offset.dy.abs() * 3; +} diff --git a/lib/pages/history/view.dart b/lib/pages/history/view.dart index 5a81b5268..9aa8926fc 100644 --- a/lib/pages/history/view.dart +++ b/lib/pages/history/view.dart @@ -127,7 +127,7 @@ class _HistoryPageState extends State ], ), Expanded( - child: TabBarView( + child: TabBarView( physics: enableMultiSelect ? const NeverScrollableScrollPhysics() : const CustomTabBarViewScrollPhysics(), diff --git a/lib/pages/later/view.dart b/lib/pages/later/view.dart index dfb0bd094..6df9b1f48 100644 --- a/lib/pages/later/view.dart +++ b/lib/pages/later/view.dart @@ -134,7 +134,7 @@ class _LaterPageState extends State }, ), Expanded( - child: TabBarView( + child: TabBarView( physics: enableMultiSelect ? const NeverScrollableScrollPhysics() : const CustomTabBarViewScrollPhysics(),