GestureDerector
在android事件处理一般我们都在OntouchEvent这个函数中处理,但是在这个函数中判断我们是怎么滑的、单击或者双击、比较繁琐,android系统为我们提供了一个手势识别器GestureDerector,这个类是个里面有一些单击,双击,滑动等事件,我们只需要对应重写其中的方法即可。
一个简单的代码实现
步骤:
1. 定义手势识别器 GestureDetector
2. 实例化GestureDetector,传入监听器
3. 在手机屏幕上用户触发的事件是首先到activity的onTouchEvent事件中,我们把事件传递到手势识别器中。
来自手机卫士的一段代码
public GestureDetector gestureDetector;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
gestureDetector = new GestureDetector(this,new GestureDetector.SimpleOnGestureListener(){
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
if((e2.getRawX() - e1.getRawX()) > 200){
pre(null);
return true;
}
if((e1.getRawX() - e2.getRawX()) > 200){
next(null);
return true;
}
return false;
};
});
setview();
}
public abstract void setview();
public abstract void pre(View view);
public abstract void next(View view);
@Override
public boolean onTouchEvent(MotionEvent event) {
gestureDetector.onTouchEvent(event);
return super.onTouchEvent(event);
}