画面がいつタッチされたかを検出する必要があります。onTouchEvent メソッドは、指が動いているときだけを検出します。指が画面に触れたときにブール値 true を返し、そうでないときに false を返すメソッドが必要です。
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 に答える