这可能是一个愚蠢的问题,但我不知道为什么ACTION_MOVE没有被调用。我需要使用触摸的x坐标更新变量,但是当我按下并保持时,然后移动变量不会改变。
@Override
public boolean onTouch(View v, MotionEvent event) {
int ptrId = 0;
int action = event.getAction();
switch (event.getAction() & event.ACTION_MASK) {
case MotionEvent.ACTION_DOWN:
screenTouches += 1;
ourSurfaceView.screenTouched(event.getX(), event.getY());
ourSurfaceView.screenTouched2(event.getX(), event.getY());
break;
case MotionEvent.ACTION_UP:
screenTouches -= 1;
ourSurfaceView.screenReleased(event.getX(), event.getY());
ourSurfaceView.screenReleased2(event.getX(), event.getY());
break;
case MotionEvent.ACTION_POINTER_DOWN:
ptrId = action >> MotionEvent.ACTION_POINTER_ID_SHIFT;
screenTouches += 1;
int ptrIdx = event.findPointerIndex(ptrId);
ourSurfaceView.screenTouched(event.getX(ptrId), event.getY(ptrId));
ourSurfaceView.screenTouched2(event.getX(ptrId), event.getY(ptrId));
break;
case MotionEvent.ACTION_POINTER_UP:
ptrId = action >> MotionEvent.ACTION_POINTER_ID_SHIFT;
screenTouches -= 1;
ourSurfaceView.screenReleased(event.getX(ptrId), event.getY(ptrId));
ourSurfaceView
.screenReleased2(event.getX(ptrId), event.getY(ptrId));
break;
case MotionEvent.ACTION_MOVE:
ourSurfaceView.screenMove(event.getX(ptrId), event.getY(ptrId));
break;
}
return true;
}
编辑:
返回false;工作,我的代码在其他地方有一个错误,这就是为什么我认为它没有用。