0

我需要检测何时触摸屏幕。onTouchEvent 方法仅检测手指何时移动。我需要返回布尔值 true 的方法,当手指触摸屏幕并返回 false 时,它​​不是。

4

2 回答 2

4

这是 onTouch 方法的一个非常基本的实现,它修改布尔值以了解屏幕是否被触摸。您可能需要对其进行调整以满足您的特定需求(并且可能处理多点触控)

private boolean mIsScreenTouched;

public boolean onTouch(View v, MotionEvent event) {

    switch (event.getAction()){
    case MotionEvent.ACTION_DOWN :
    case MotionEvent.ACTION_MOVE :
        mIsScreenTouched = true; 
        break; 
    case MotionEvent.ACTION_CANCEL :    
    case MotionEvent.ACTION_UP :
        mIsScreenTouched = false; 
        break; 
    }

    return true;
}
于 2012-09-10T09:26:44.530 回答
0
@Override
public boolean dispatchTouchEvent(MotionEvent e) {
    // TODO Auto-generated method stub
    super.dispatchTouchEvent(e);
    if(btn.onTouchEvent(e)){
        return btn.onTouchEvent(e);
    }else{
        return false;
    }
}
于 2012-09-10T09:20:58.077 回答