0
這裏是我的代碼:Android的多點觸控:沒有ACTION_POINTER_DOWN和UP事件
public boolean onTouch(View v, MotionEvent event) {
switch(event.getActionMasked()) {
case MotionEvent.ACTION_DOWN:
Log.d("getButtonCode", "catch ACTION_DOWN");
break;
case MotionEvent.ACTION_POINTER_DOWN:
Log.d("getButtonCode", "catch ACTION_POINTER_DOWN");
break;
case MotionEvent.ACTION_POINTER_UP:
Log.d("getButtonCode", "catch ACTION_POINTER_UP");
break;
case MotionEvent.ACTION_UP:
Log.d("getButtonCode", "catch ACTION_UP");
case MotionEvent.ACTION_CANCEL:
Log.d("getButtonCode", "catch ACTION_CANCEL");
case MotionEvent.ACTION_MOVE:
break;
default:
break;
}
return true;
}
,我永遠也趕不上ACTION_POINTER_DOWN和ACTION_POINTER_UP。如果我從ACTION_DOWN中刪除break
,我總是在ACTION_DOWN後面捕獲ACTION_POINTER_DOWN,即使它是第一個指針。我認爲它應該是這樣的:第一個指針只捕獲ACTION_DOWN,每個下一個指針只有ACTION_POINTER_DOWN,如果非主要指針已經上漲,我應該捕獲ACTION_POINTER_UP。
但它不起作用。我的代碼有什麼問題? PS:我看到其他類似的問題,但沒有答案幫助我。