同时处理屏幕两部分的触摸事件
Handle Touch Event on both segments of the screen simultaneously
所以我有一个触摸事件,它会一一处理 ACTION_DOWN
和 ACTION_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";
}
}
所以我有一个触摸事件,它会一一处理 ACTION_DOWN
和 ACTION_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";
}
}