Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何处理动作\向下和动作\独立移动_Android - Fatal编程技术网

Android 如何处理动作\向下和动作\独立移动

Android 如何处理动作\向下和动作\独立移动,android,Android,我以前问过一个类似的问题,但答案不是很有帮助,我找不到解决这个问题的方法 我想知道一种方法,当我们只触摸某个视图时检测动作向下,当我们只在屏幕上移动手指时检测动作移动,因为我得到的只是当我将手指放在视图上时同时调用动作向下和动作移动 任何人都可以发布一个简单的代码来说明如何做到这一点。这些都是原始运动事件。您可能可以使用手势检测器检测单击和滑动 问题是检测到任何移动时都会调用操作\u MOVE,例如,在触摸屏时稍微施加一点压力可能会使触摸点移动几个像素。我可以用手指压力的不确定性的某个阈值来做一

我以前问过一个类似的问题,但答案不是很有帮助,我找不到解决这个问题的方法

我想知道一种方法,当我们只触摸某个视图时检测动作向下,当我们只在屏幕上移动手指时检测动作移动,因为我得到的只是当我将手指放在视图上时同时调用动作向下和动作移动


任何人都可以发布一个简单的代码来说明如何做到这一点。

这些都是原始运动事件。您可能可以使用
手势检测器
检测单击和滑动


问题是检测到任何移动时都会调用
操作\u MOVE
,例如,在触摸屏时稍微施加一点压力可能会使触摸点移动几个像素。

我可以用手指压力的不确定性的某个阈值来做一个if语句,这会导致移动被触发。如果是,那么我如何才能做到这一点。不仅仅是压力,用户可能会将手指移动几毫米(即使他正在执行触摸/点击)。当用户
ACTION\u移动时,您可以从MotionEvent执行
getX
getY
,并从
ACTION\u向下
跟踪X和Y的增量。然后你可以定义一些阈值,在这个阈值下你会说:好的,这不是触摸,这个用户正在移动他的手指。我理解你说的。你能给我一个示例代码吗?因为我在触摸事件中遇到一些问题。只需让我知道该放下并移动什么,谢谢。有两个字段,您将在其中存储开始的X和Y(getX和getY方法)。然后,当动作移动事件发生时,检查它们的X和Y,然后将其与开始的X和Y进行比较。如果X和Y的变化像10px或类似的东西,你可以忽略移动,基本上你需要使用这个阈值数字。在这种情况下,我仍然会使用GestureDetector。正如您在类似问题中提到的,您需要设置一个阈值大小,低于该大小,移动将被忽略。@meatspace,我无法理解该如何做?