触控事件MotionEvent
MotionEvent中封装的一些常用的事件常量:
//单点触摸按下动作 public static final int ACTION_DOWN = 0; //单点触摸抬起动作 public static final int ACTION_UP = 1; //触摸点移动动作 public static final int ACTION_MOVE = 2; //触摸动作取消 public static final int ACTION_CANCEL = 3; //触摸动作超出边界 public static final int ACTION_OUTSIDE = 4; //多点触摸按下动作 public static final int ACTION_POINTER_DOWN = 5; //多点离开动作 public static final int ACTION_POINTER_UP = 6;MotionEvent固定使用模式:
@Override public boolean onTouchEvent(MotionEvent event) { //获取触控事件的类型 int action = event.getAction(); //获取点击事件发生时的x,y坐标 int x = (int) event.getX(); int y = (int) event.getY(); //使用switch-case方法进行筛选,这是一个固定模式 switch (action) { case MotionEvent.ACTION_DOWN: //处理手指刚接触屏幕的按下事件 break; case MotionEvent.ACTION_MOVE: //处理手指在屏幕上的移动事件 break; case MotionEvent.ACTION_UP: //处理手指从屏幕上松开的一瞬间事件 break; } return true; }MotionEvent提供的方法:
getX() :点击事件发生的位置相对于当前View左上角的x坐标
getY() :点击事件发生的位置相对于当前View左上角的y坐标
getRawX() :点击事件发生的位置相对于手机屏幕左上角的x坐标
getRawY() :点击事件发生的位置相对于手机屏幕左上角的y坐标
如图所示: