響應觸控事件
許多自定義檢視需要以觸控事件的形式接受使用者互動。你可以通過覆蓋 onTouchEvent
來訪問觸控事件。你可以過濾掉許多操作。主要是
ACTION_DOWN
:當你的手指第一次觸控檢視時觸發。ACTION_MOVE
:每當你的手指在檢視中稍微移動時,就會呼叫此方法。它被多次呼叫。ACTION_UP
:當你將手指從螢幕上擡起時,這是最後一個動作。
你可以將以下方法新增到檢視中,然後在觸控並在檢視周圍移動手指時觀察日誌輸出。
@Override
public boolean onTouchEvent(MotionEvent event) {
int x = (int) event.getX();
int y = (int) event.getY();
int action = event.getAction();
switch (action) {
case MotionEvent.ACTION_DOWN:
Log.i("CustomView", "onTouchEvent: ACTION_DOWN: x = " + x + ", y = " + y);
break;
case MotionEvent.ACTION_MOVE:
Log.i("CustomView", "onTouchEvent: ACTION_MOVE: x = " + x + ", y = " + y);
break;
case MotionEvent.ACTION_UP:
Log.i("CustomView", "onTouchEvent: ACTION_UP: x = " + x + ", y = " + y);
break;
}
return true;
}
進一步閱讀: