触摸点达到限制时Android多点触控奇怪的bug

时间:2013-02-20 17:33:52

标签: java android multi-touch

我在Android上制作需要多点触控手势的应用程序!我发现我的设备Novo 7(ainol)支持5个触摸点。我为这样的视图实现onTouch

public boolean onTouch(View v, MotionEvent event) {
    // TODO Auto-generated method stub

    if ((event.getAction() & MotionEvent.ACTION_MASK) == MotionEvent.ACTION_POINTER_DOWN || event.getAction() == MotionEvent.ACTION_DOWN){
        Log.i("Touch", "Touch "+event.getPointerCount() + " -- Position " +
                    event.getRawX()+","+event.getRawY());
    }
    else if ((event.getAction() & MotionEvent.ACTION_MASK) == MotionEvent.ACTION_POINTER_UP|| event.getAction() == MotionEvent.ACTION_UP){
        Log.i("Touch up","Pointer = "+event.getPointerCount());
    }
    return true;
}

首先,一切正常,日志与5条消息完美打印在一起。但是当我触摸并释放屏幕上的第6个点时,事情就发生了。该日志重新打印出5条消息。你能告诉我这里发生了什么吗?抱歉我的英文不好,如果这是一个菜鸟问题!非常感谢你!

----------- EDITED --------------------

在记录ACTION_POINTER_UP和ACTION_UP之后,我发现当第6个手指触摸(触摸)屏幕时,所有当前指针(5个指针)都从事件中释放(例如,action_up和action_pointer_up是5之前的呼叫指针)!现在,问题是,当触摸点的限制到达时,android如何处理这种情况。

0 个答案:

没有答案