手势识别器
1,定义出来
2,实例化-把想要的方法给重写
3,在onTouchEvent()把事件传递给手势识别器
private GestureDetector detector;
将detector实例化:里面的方法可以ctrl+o,看里面有什么方法
private void initView(final Context context) {
detector=new GestureDetector(context, new GestureDetector.SimpleOnGestureListener(){
@Override
public void onLongPress(MotionEvent e) {
Toast.makeText(context, "长按", Toast.LENGTH_SHORT).show();
super.onLongPress(e);
}
/**
*
* @param e1 点下去那个点
* @param e2 离开的那个点
* @param distanceX x的滑动距离
* @param distanceY y的滑动距离
* @return
*/
@Override
public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) {
Toast.makeText(context, "滑动", Toast.LENGTH_SHORT).show();
return super.onScroll(e1, e2, distanceX, distanceY);
}
@Override
public boolean onDoubleTap(MotionEvent e) {
Toast.makeText(context, "双击", Toast.LENGTH_SHORT).show();
return super.onDoubleTap(e);
}
});
}
之后第三步是将手势识别器添加进触摸方法里面:
@Override
public boolean onTouchEvent(MotionEvent event) {
super.onTouchEvent(event);
detector.onTouchEvent(event);
return true;
}