Android多点触控控件

时间:2013-02-17 12:31:43

标签: android multi-touch ontouchevent

我正在尝试制作一个mulitouch控件,但是当我按照不同的顺序移开手指时,我总是会出错,因为我将它放到了屏幕上。

@Override
public boolean onTouchEvent(MotionEvent event) {
    pointers = event.getPointerCount();
    for(int a = 0; a < event.getPointerCount(); a++) {
        expos[a] = (int) event.getX(event.getPointerId(a));
        eypos[a] = (int) event.getY(event.getPointerId(a));
    }
    if(event.getAction() == MotionEvent.ACTION_DOWN) pressed = true;
    if(event.getAction() == MotionEvent.ACTION_UP) pressed = false;
    return true;
}

我认为问题是,当我删除第一个手指时,第二个手指仍然具有id 2,但我该怎么做才能修复它?

1 个答案:

答案 0 :(得分:1)

据我了解,问题是你释放其中一根手指时没有得到ACTION_UP事件。解决方法是使用ACTION_POINTER_UP。它将检测任何非主要指针的发布,并应解决问题