diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/viewport/VisualAngleToggleView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/viewport/VisualAngleToggleView.kt index 8cb7971cd9..816b466873 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/viewport/VisualAngleToggleView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/viewport/VisualAngleToggleView.kt @@ -39,21 +39,30 @@ class VisualAngleToggleView : FrameLayout, IMoGoVisualAngleChangeProvider.OnMoGo val defaultSlop = AutoSizeUtils.dp2px(context, 12.0f) val scrollSlop = max(context.let { ViewConfiguration.get(it).scaledTouchSlop }, defaultSlop) val gestureDetector = GestureDetector(context, object : GestureDetector.SimpleOnGestureListener() { + + private var flag = false + override fun onDown(e: MotionEvent): Boolean { + flag = false return true } override fun onScroll(e1: MotionEvent, e2: MotionEvent, distanceX: Float, distanceY: Float): Boolean { + if (flag) { + return super.onScroll(e1, e2, distanceX, distanceY) + } val absX = abs(e2.x - e1.x) val absY = abs(e2.y - e1.y) if (absY <= absX) { return false } if (e2.y - e1.y >= scrollSlop) { + flag = true moveToBottom() return true } if (e1.y - e2.y >= scrollSlop) { + flag = true moveToTop() return true }