android MotionEvent详解
时间: 2023-07-11 19:07:30 浏览: 56
Android MotionEvent 是一个封装了触摸屏或鼠标事件的类,我们可以通过它来获取用户在屏幕上的操作信息,例如按下、抬起、移动等。下面是 MotionEvent 的一些详细解释:
1. MotionEvent.ACTION_DOWN:表示手指按下事件,这个事件在一个手势中只会发生一次。
2. MotionEvent.ACTION_MOVE:表示手指移动事件,当手指在屏幕上滑动时,会触发多个 MOVE 事件。
3. MotionEvent.ACTION_UP:表示手指抬起事件,这个事件在一个手势中只会发生一次。
4. MotionEvent.ACTION_CANCEL:表示事件被取消,例如由于突然来电,导致事件被中断。
5. MotionEvent.getPointerCount():获取当前触摸了屏幕的手指数量。
6. MotionEvent.getX() 和 MotionEvent.getY():获取当前手指在屏幕上的坐标位置。
7. MotionEvent.getActionIndex():获取当前事件的索引值,用于多点触控时区分不同的手指。
8. MotionEvent.getActionMasked():获取当前事件的类型,例如 DOWN、MOVE、UP 等。
9. MotionEvent.getPointerId():获取当前事件的手指 ID,用于多点触控时区分不同的手指。
10. MotionEvent.getHistoricalX() 和 MotionEvent.getHistoricalY():获取当前手指之前的历史坐标位置。
注意:在处理多点触控事件时,需要使用 MotionEventCompat 和 MotionEventCompat.PointerProperties 这两个类来获取手指的 ID 和指针属性。