同时处理屏幕两部分的触摸事件

Handle Touch Event on both segments of the screen simultaneously

所以我有一个触摸事件,它会一一处理 ACTION_DOWNACTION_UP。例如,如果我点击屏幕的左半边 ACTION_DOWN 有效,但 ACTION_UP 无效,屏幕右侧也一样。我想同时处理它们。如果我同时单击左侧和右侧,则两个事件都应该执行。谁能帮我解决这个问题。 我的密码是

@Override
public boolean onTouchEvent(MotionEvent event) {
    switch (event.getAction()) {
        case MotionEvent.ACTION_DOWN:
            //if user press the screen
            if (event.getX() < screenX / 2f) {
                flight.isGoingUp = true;
            }
            break;
        case MotionEvent.ACTION_UP:
            flight.isGoingUp = false;
            if (event.getX() > screenX / 2f) {
                flight.toShoot++;
            }
            break;
    }
    return true;
}

编辑 1 屏幕被分成两半。屏幕的左侧用于 flight.isGoingUp = true;,当我们释放左侧或点击屏幕的右侧时 flight.isGoingUp = false;if (event.getX() > screenX / 2f) { flight.toShoot++; } 我想做这样的代码它们是同时处理的。

这里是处理多点触摸手势的文档。

https://developer.android.com/training/gestures/multi#java

这是一个基于google 文档处理多点触控的非常简单的示例。

@Override
public boolean onTouch(View v, MotionEvent event) {
    int action = event.getActionMasked();
    int index = event.getActionIndex();
    System.out.println("The finger # " + index + " is " + getAction(action));
    return true;
}

public static String getAction(int action) {
    switch (action) {
        case MotionEvent.ACTION_DOWN: return "Down";
        case MotionEvent.ACTION_MOVE: return "Move";
        case MotionEvent.ACTION_POINTER_DOWN: return "Pointer Down";
        case MotionEvent.ACTION_UP: return "Up";
        case MotionEvent.ACTION_POINTER_UP: return "Pointer Up";
        case MotionEvent.ACTION_OUTSIDE: return "Outside";
        case MotionEvent.ACTION_CANCEL: return "Cancel";
        default: return "Unknown";
    }
}