利用安卓的Gesture手势识别花样侧滑
首先让你的主函数链接接口类手势识别监听器,这种抽象类则必须实现它的抽象方法,我们来看一下它的抽象方法有哪些(实现接口后,点击Import自动导入方法,记住不要自己去写哦)
@Override
/*
* (ee-Javadoc) GestureDetector 的手势识别方法
* @see android.view.GestureDetector.OnGestureListener#onDown(android.view.MotionEvent)
*/
//touch后按下触发
public boolean onDown(MotionEvent arg0) {
// TODO Auto-generated method stub
return false;
}
//当我们touch后滑动一定距离,up后触发(松手)
@Override
public boolean onFling(MotionEvent arg0, MotionEvent arg1, float arg2,
float arg3) {
// TODO Auto-generated method stub
return false;
}
//longpress长按触发
@Override
public void onLongPress(MotionEvent arg0) {
// TODO Auto-generated method stub
}
//touch后滑动时触发
@Override
public boolean onScroll(MotionEvent arg0, MotionEvent arg1, float arg2,
float arg3) {
// TODO Auto-generated method stub
return false;
}
//touch还没有滑动时候触发
@Override
public void onShowPress(MotionEvent arg0) {
// TODO Auto-generated method stub
}
@Override
//touch松手后触发
public boolean onSingleTapUp(MotionEvent arg0) {
// TODO Auto-generated method stub
return false;
}
}
主要就是以上几个方法了,虽然很多都是相似的,但是呢,在触发的顺序上有所不同
boolean onSingleTapConfirmed(MotionEvent e)
boolean onSingleTapUp(MotionEvent e)
解释:上面这两个函数都是在touch down后又没有滑动(onScroll),又没有长按(onLongPress),然后Touchup时触发。
点击一下非常快的(不滑动)Touchup:
onDown->onSingleTapUp->onSingleTapConfirmed
点击一下稍微慢点的(不滑动)Touchup:
onDown->onShowPress->onSingleTapUp->onSingleTapConfirmed