Android多个ACTION_MOVE

时间:2011-09-04 19:27:38

标签: android drag drawable multi-touch

对于任何后续按下,MotionEvent类对于第一个和ACTION_POINTER_DOWN都有ACTION_DOWN,与ACTION_UP相同。显然,我所看到的ACTION_MOVE并不等同。我希望能够同时使用拖动移动多个drawable。因此,它适用于多次按下(只对当前y位置使用invalidate()和重绘)但一次只能拖动一个drawable。我尝试使用for循环来遍历每个指针,但没有骰子。有什么建议吗?

    if(touchnX >= f.getLeft() &&
        touchnX <= f.getRight() &&
        touchnY <= f.getBottom() &&
        touchnY >=f.getTop()){
            f.moveThumb(touchnY);
            break;
    }

这基本上就是代码。我只需要知道如何捕捉后续的拖拽。

1 个答案:

答案 0 :(得分:2)

你能通过每个指针显示for循环吗?对我有用的是:

if (event.getActionMasked() == MotionEvent.ACTION_MOVE) {
    int numPointers = event.getPointerCount();
    for (int i = 0; i < numPointers; i++) {
        handleMoveEvent(event.getX(i), event.getY(i));
    }
}

但是,这将处理所有指针的移动事件,即使只移动了一个。我不太确定如何解决这个问题。