(笔记)Android的OnGestureListener中onFling()的使用注意

我想监听手机Activity滑动事件时,用了OnGestureListener的onFling()方法,发现不来事。

于是一番百度、测试之下,总结出了几点。

1、首先Activity实现OnGestureListener和OnTouchListener接口。

2、在Activity这个类里定义成员变量(等会要在onCreate()里实例化):

public GestureDetector gestureDetector;

3、然后获取Activity的RootView(这几步我是写在onCreate()里的),给View设置触摸事件监听器,实例化GestureDetector对象(用的new GestureDetector(Context context, OnGestureListener listenr)这个构造方法):

//获取Activity的RootView
View v = getWindow().getDecorView().getRootView();
//设置事件监听器
v.setOnTouchListener(this);
//实例化GestureDetector
gestureDetector = new GestureDetector(this, this);


4、在onTouch()方法里加上:

gestureDetector.onTouchEvent(motionEvent);
return true;
并且返回值一定要设置为true,表示可以交给GestureListener处理。


5、接下来就可以用onFling(MotionEvent motionEvent, MotionEvent motionEvent1, float v, float v1)方法了,其中v表示横向速度,v1表示竖向速度。



你可能感兴趣的:(Android)