GestureDetectorCompat:
GestureDetectorCompat gestureDetector = new GestureDetectorCompat(context, new YScrollDetector());
class YScrollDetector extends SimpleOnGestureListener {
@Override public boolean onScroll(MotionEvent e1, MotionEvent e2, float dx, float dy) {
// 垂直滑动时dy>dx,才被认定是上下拖动
return Math.abs(dy) > Math.abs(dx); }}
SimpleOnGestureListener类是GestureDetector提供给我们的一个更方便的响应不同手势的类,它实现了上述两个接口,该类是static class,也就是说它实际上是一个外部类,我们可以在外部继承这个类,重写里面的手势处理方法。因此实现手势识别有两种方法,一种实现OnGestureListener接口,另一种是使用SimpleOnGestureListener类。
getAction、getActionMask、getActionIndex区别
1 getAction:触摸动作的原始32位信息,包括事件的动作,触控点信息
2 getActionMask:触摸的动作,按下,抬起,滑动,多点按下,多点抬起
3 getActionIndex:触控点信息
,无论是使用getAction还是getActionMasked,触屏事件都会回调到onTouchEvent,用一个32位的整型值表示一次TouchEvent事件,低8位表示touch事件的具体动作,
简书贴代码太XX麻烦了。 主要代码仍在Github上了。 [https://github.com/xiaobaoKing1/Demodes/blob/master/%E4%BB%BF%E6%B7%98%E5%AE%9D%E6%8F%8F%E8%BF%B0]
网友评论