系列文章:
安卓手势处理(一)view的位置信息
安卓手势处理(二) MotionEvent
安卓手势处理(三)之实现图片的放大和缩小
安卓手势处理(四)之Fling
安卓手势处理(五)案例
上一篇文章确定了view的位置,这一篇就来讲一下view是如何分辨多个手指的点击事件。
MotionEvent
事件的信息就是封装在MotionEvent这个类之中的,包含事件类型(Action),手指id(pointerId),手指索引(index),事件发生的坐标信息(x,y)。
获取事件坐标位置API:
getX() //获取相对于该view显示区域左上角的位置x
getY() //获取相对于该view显示区域左上角的位置y
getRawX() //获取相对于整个屏幕左上角的位置x
getRawY() //获取相对于整个屏幕左上角的位置y
获取事件类型API:
public final int getAction() {
return nativeGetAction(mNativePtr);
}
public final int getActionMasked() {
return nativeGetAction(mNativePtr) & ACTION_MASK;
}
上面两个API的区别就是有没有ACTION_MASK,ACTION_MASK=0xff,说明最低的