1

我试图弄清楚android中的所有多点触控事件处理几个小时,但我就是不明白。

如果我有多点触控事件 MotionEvent 存储所有手指数据,对吗?

假设我在询问 getActionIndex 或 (getActionMasked) 时用 3 个手指同时触摸屏幕或在屏幕上同时移动 2 个手指我得到一个结果,但是当我移动或(用 3 个手指触摸屏幕)时,我怎么知道哪个手指 getActionIndex或( getActionMasked )指的是?

提前谢谢你

4

1 回答 1

0

ID 用于识别和跟踪指针(假设指针是您的手指)。虽然特定触摸手势的索引可能会改变(您可能会抬起手指等),但 id 保持不变(因此用于跟踪手势)。

int pointerCount = m.getPointerCount();

    for (int i = 0; i < pointerCount; i++)
    {
        int x = (int) m.getX(i);
        int y = (int) m.getY(i);            
        int id = m.getPointerId(i);
        if(id==0) {
            ...First touch....
}

........

我也是android开发的新手。昨天正在阅读有关多点触控的信息。希望这可以帮助。

于 2015-06-11T17:25:13.497 回答