响应触摸事件
许多自定义视图需要以触摸事件的形式接受用户交互。你可以通过覆盖 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;
}
进一步阅读: