我有点卡在android中的这个项目上,我试图弄清楚为什么这不起作用,但我不知道。顺便说一下,这是一个自定义视图,以防万一。
问题是这个事件 ACTION_DOWN 正在完美地工作我得到控制台调试“触摸 1”和“触摸 2”但是 ACTION_UP、ACTION_CANCEL 或默认值:不工作我无法弄清楚所以任何帮助将不胜感激谢谢
public void doTouch(MotionEvent event)
{
int action = event.getAction();
float x = event.getX();
float y = event.getY();
switch(action)
{
case MotionEvent.ACTION_DOWN:
if(x < 125 && y < 125){
for(AnimatedSprite a:mSprites)
{
if(a.getID() == 1)
{
a.AdvanceToFrame(0);
touching = true;
System.out.println("Touching 1");
//touch_obj1 = true;
}
}
}
else if(x > getWidth()-125 && y > getHeight()-125)
{
for(AnimatedSprite a:mSprites)
{
if(a.getID() == 2)
{
a.AdvanceToFrame(1);
System.out.println("Touching 2");
touching = true;
//touch_obj2 = true;
}
}
}
else
{
touching = false;
}
break;
case MotionEvent.ACTION_CANCEL:
case MotionEvent.ACTION_UP:
System.out.println("Touch UP");
touching = false;
break;
default:
System.out.println("NOT Touching");
touching = false;
break;
}
}
这是我调用 doTouch 函数的地方
public boolean onTouchEvent(MotionEvent event)
{
thread.doTouch(event);
return super.onTouchEvent(event);
}