From 48981e39cabe4de4567558496e2133eb89f723cb Mon Sep 17 00:00:00 2001 From: Tungstend Date: Sun, 19 Nov 2023 18:06:07 +0800 Subject: [PATCH] Update ControlDirection.java --- .../tungsten/fcl/control/view/ControlDirection.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/FCL/src/main/java/com/tungsten/fcl/control/view/ControlDirection.java b/FCL/src/main/java/com/tungsten/fcl/control/view/ControlDirection.java index 39e7d7bd..289cd0f1 100644 --- a/FCL/src/main/java/com/tungsten/fcl/control/view/ControlDirection.java +++ b/FCL/src/main/java/com/tungsten/fcl/control/view/ControlDirection.java @@ -495,14 +495,20 @@ public class ControlDirection extends RelativeLayout implements CustomView { downX = event.getX(); downY = event.getY(); downTime = System.currentTimeMillis(); - handleButtonEvent((int) event.getX(), (int) event.getY()); + int size = (getSize() * (1000 - (2 * getData().getStyle().getButtonStyle().getInterval()))) / 3000; + int p1 = size + ((getSize() * getData().getStyle().getButtonStyle().getInterval()) / 1000); + int x = (int) event.getX(); + int y = (int) event.getY(); + handleButtonEvent(x, y); + startClick = x >= p1 && x <= p1 + size && y >= p1 && y <= p1 + size; break; case MotionEvent.ACTION_MOVE: handleButtonEvent((int) event.getX(), (int) event.getY()); break; case MotionEvent.ACTION_UP: case MotionEvent.ACTION_CANCEL: - if (System.currentTimeMillis() - downTime <= 100 + if (startClick && + System.currentTimeMillis() - downTime <= 100 && Math.abs(event.getX() - downX) <= 10 && Math.abs(event.getY() - downY) <= 10) { clickCount++;