理解多点触控语句 - 指针ID /索引

时间:2015-12-04 00:02:41

标签: java android

    int action = (event.getAction() & MotionEvent.ACTION_MASK);
    int gIndex = (event.getAction() & MotionEvent.ACTION_POINTER_INDEX_MASK)>>
                                        MotionEvent.ACTION_POINTER_INDEX_SHIFT;
    int gID = event.getPointerId(gIndex);
        switch (action){
            case MotionEvent.ACTION_DOWN:
            case MotionEvent.ACTION_POINTER_DOWN:    
                y[gID]=(int)event.getY(gIndex);
                break;

这是获取y并在文本视图中打印的代码片段。 但有一些东西对我没有意义...... 在这行代码中

  

Y [GID] =(int)的event.getY(gIndex);

用这个我将gIndex的y值赋给y [在id的位置] 但是我怎么知道我正在对同一个“手指”进行反击gIndex可以随时移动它的值,或者系统只是知道我根据所有的ID来知道gIndex的y位置...

1 个答案:

答案 0 :(得分:0)

首先,你要使用一些旧代码。最好不要屏蔽自己并使用取消屏蔽功能。

action = event.getActionMasked();
gIndex = event.getActionIndex();

其次,如果你想获得给定指针id的y,你可以使用

y = event.getY(event.findPointerId(pointerid));