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 に答える