onGestureListener得和onTouchListener配合使用
private GestureDetector detector
Oncreate内创建对象,并添加View的监听事件
detector = new GestureDetector((OnGestureListener)this);//在 Activity 中实现 OnGestureListener 的接口 onFling() 等手势事件
view.setOnTouchListener(this);//实现时调用detector
view.setLongClickable(true);//当捕获不了onFling事件,可加上词代码,并调整onScroll的返回结果 true /false
通过onTouchEvent() 注册 myGesture.onTouchEvent(event)
@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
return detector.onTouchEvent(event);
}
//实现手势
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
float velocityY) {
// TODO Auto-generated method stub
if (e1.getX() - e2.getX() > 20 && Math.abs(velocityX) > 0) {
// "向左手势",
}
else if (e2.getX() - e1.getX() >20 && Math.abs(velocityX) > 0) {
// "向右手势",
}
return true;
}