找时间按下并触摸两个同时接触点的坐标

时间:2014-05-25 23:33:07

标签: android

我有一个奇怪的难题,我正在努力应对。我希望用户使用两个手指并同时触摸屏幕两个,我想找到每个触摸事件的触摸坐标和按下时间。

尝试执行此操作时,我的第一种方法是使用onTouchListener,并设置event.getAction()==(MotionEvent.ACTION_DOWN。但是,我很快意识到这种方法只适用于单个触摸点,而不是两个同时触摸点。

我的第二种方法是尝试像

这样的东西
if (event.getAction()==(MotionEvent.ACTION_DOWN) || event.getAction()==(MotionEvent.ACTION_POINTER_DOWN)
    {
    //Find touchtime and touch coordinates

但这只记录了第一个触摸点,而不是第二个触摸点。有谁知道我会如何处理这个问题?

提前致谢

1 个答案:

答案 0 :(得分:2)

你的方法很接近。首先,两根手指永远不会在同一时间下降 - 它们总是会在几微秒内熄灭。所以你不要检查两者是否同时下降,但是如果它们之间的差距小于它们(比如几毫秒)。其次,第一个手指向下生成一个ACTION_DOWN。第二个将生成ACTION_POINTER_DOWN。运动事件将包括指针数量。因此,当您看到ACTION_DOWN时,您可以节省时间,当您看到ACTION_POINTER_DOWN时,您会检查它是否是第二个点,如果是,则检查时间增量。