Android:实现手势滑动的事件处理方法

jopen 11年前

首先得Activity必须实现OnGestureListener接口,该接口提供了关于手势操作的一些方法,
onDown方法:onDown是,一旦触摸屏按下,就马上产生onDown事件
public boolean onDown(MotionEvent e) {
return false;
}
onFling方法:当手在屏幕上滑动但手未离开屏幕时触发
MotionEvent e1 手开始触碰屏幕的位置的MotionEvent对象
MotionEvent e2 手结束触碰屏幕的位置的MotionEvent对象
float velocityX 表示手在水平方向的移动速度
float velocityX 表示手在垂直方向的移动速度
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY)

onLongPress方法:长按屏幕时触发
public void onLongPress(MotionEvent e)

onScroll方法:当手在屏幕上滑动离开屏幕时触发,参数跟onFling一样(注意两者的区别)
public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY)

onShowPress方法:点击了触摸屏,但是没有移动和弹起的动作onShowPress和onDown的区别在于 onDown是,一旦触摸屏按下,就马上产生onDown事件,但是onShowPress是onDown事件产生后, 一段时间内,如果没有移动鼠标和弹起事件,就认为是onShowPress事件。
public void onShowPress(MotionEvent e)

onSingleTapUp方法:轻击触摸屏后,弹起。如果这个过程中产onLongPress、onScroll和onFling事件,就不会 产生onSingleTapUp事件。
public boolean onSingleTapUp(MotionEvent e)