Android 安卓操作系统不移动';行不通
这可能是个愚蠢的问题,但我不知道为什么不采取行动。我需要使用触摸的x坐标更新变量,但当我按下并按住时,变量周围的移动不会改变Android 安卓操作系统不移动';行不通,android,Android,这可能是个愚蠢的问题,但我不知道为什么不采取行动。我需要使用触摸的x坐标更新变量,但当我按下并按住时,变量周围的移动不会改变 @Override public boolean onTouch(View v, MotionEvent event) { int ptrId = 0; int action = event.getAction(); switch (event.getAction() & event.ACTION_MASK) { case Mot
@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;如果成功了,我的代码在其他地方出现了错误,所以我认为它不起作用。我试过了,但不起作用:(我添加了Log.v(“Moveable”,“X=“+X+”Y=“+Y+”\n”);它很好地显示了坐标,因此我认为还有一个问题与您正在应用的掩码有关。我建议搜索(谷歌)以正确的方式处理手指的掩码。尝试返回false并删除event.ACTION\u mask。它应该可以工作