diff --git a/frameworks/core/components_ng/event/drag_event.cpp b/frameworks/core/components_ng/event/drag_event.cpp index c9e710d9ba935c680f3f02a9e880d9400246fdf6..87e71cce7378669bbcb9ada9d23e79912532198d 100644 --- a/frameworks/core/components_ng/event/drag_event.cpp +++ b/frameworks/core/components_ng/event/drag_event.cpp @@ -150,9 +150,9 @@ void DragEventActuator::OnCollectTouchTarget(const OffsetF& coordinateOffset, co auto actuator = weak.Upgrade(); CHECK_NULL_VOID(actuator); #ifdef ENABLE_DRAG_FRAMEWORK + auto gestureHub = actuator->gestureEventHub_.Upgrade(); + CHECK_NULL_VOID(gestureHub); if (!GetIsBindOverlayValue(actuator)) { - auto gestureHub = actuator->gestureEventHub_.Upgrade(); - CHECK_NULL_VOID(gestureHub); if (gestureHub->GetTextDraggable()) { HideTextAnimation(); } else { @@ -160,6 +160,14 @@ void DragEventActuator::OnCollectTouchTarget(const OffsetF& coordinateOffset, co HidePixelMap(); HideFilter(); } + } else { + if (actuator->panRecognizer_->getDeviceType() == SourceType::MOUSE) { + if (!gestureHub->GetTextDraggable()) { + HideEventColumn(); + HidePixelMap(); + HideFilter(); + } + } } #endif // ENABLE_DRAG_FRAMEWORK CHECK_NULL_VOID(actuator->userCallback_); diff --git a/frameworks/core/components_ng/gestures/recognizers/gesture_recognizer.h b/frameworks/core/components_ng/gestures/recognizers/gesture_recognizer.h index bc649b0dfed621f14d1fe8119953afec3d947ef6..7bd8920b0133ddc569a82405c8bff0a32c122c6b 100644 --- a/frameworks/core/components_ng/gestures/recognizers/gesture_recognizer.h +++ b/frameworks/core/components_ng/gestures/recognizers/gesture_recognizer.h @@ -186,6 +186,11 @@ public: } virtual bool CheckTouchId(int32_t touchId) = 0; + SourceType getDeviceType() + { + return deviceType_; + } + protected: void Adjudicate(const RefPtr& recognizer, GestureDisposal disposal) {