GestureDetector.OnGestureListener接口
class GestureListener:GestureDetector.OnGestureListener,GestureDetector.OnDoubleTapListener {
override fun onDown(p0: MotionEvent?): Boolean {
Log.e("GestureListener","onDown:")
return true
}
override fun onShowPress(p0: MotionEvent?) {
Log.e("GestureListener","onShowPress:")
}
override fun onSingleTapUp(p0: MotionEvent?): Boolean {
Log.e("GestureListener","onSingleTapUp:")
return true
}
override fun onScroll(p0: MotionEvent?, p1: MotionEvent?, p2: Float, p3: Float): Boolean {
Log.e("GestureListener","onScroll:")
return true
}
override fun onLongPress(p0: MotionEvent?) {
Log.e("GestureListener","onLongPress:")
}
override fun onFling(p0: MotionEvent?, p1: MotionEvent?, p2: Float, p3: Float): Boolean {
Log.e("GestureListener","onFling:")
return true
}
override fun onSingleTapConfirmed(p0: MotionEvent?): Boolean {
Log.e("GestureListener","onSingleTapConfirmed:")
return true
}
override fun onDoubleTap(p0: MotionEvent?): Boolean {
Log.e("GestureListener","onDoubleTap:")
return true
}
override fun onDoubleTapEvent(p0: MotionEvent?): Boolean {
Log.e("GestureListener","onDoubleTapEvent:")
return true
}
}
单击
双击
//0 代表 ACTION_DOWN,1 代表 ACTION_UP,2 代表 ACTION_MOVE
SimpleOnGestureListener
1.这是一个类不是接口
2.按需实现方法,不必被强制全部重写
onFling()
boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY)
e1:第一个 ACTION_DOWN MotionEvent
e2:最后一个 ACTION_MOVE MotionEvent
velocityX: X轴上的移动速度,单位为像素/秒
velocityY: y轴上的移动速度,单位为像素/秒
//左滑 e1.getX() - e2.getX() > 100 && Math.abs(velocityX) > 100