Android(安卓)手势识别中的两个默认实现SimpleOnScaleGestureListener、SimpleOnGestureListener
16lz
2022-01-22
//SimpleOnGestureListener implements OnGestureListener, OnDoubleTapListenerclass ZoomGesture extends GestureDetector.SimpleOnGestureListener {//单手指操作@Override //双击public boolean onDoubleTap(MotionEvent e) {System.out.println("--onDoubleTap---");return true;}@Overridepublic boolean onDoubleTapEvent(MotionEvent e) {System.out.println("--onDoubleTapEvent---");return super.onDoubleTapEvent(e);}}//SimpleOnScaleGestureListener implements OnScaleGestureListenerclass ScaleGesture extends ScaleGestureDetector.SimpleOnScaleGestureListener {//双手指操作@Overridepublic boolean onScale(ScaleGestureDetector detector) {detector.getCurrentSpan();//两点间的距离跨度detector.getCurrentSpanX();//两点间的x距离detector.getCurrentSpanY();//两点间的y距离detector.getFocusX();//detector.getFocusY();//detector.getPreviousSpan();//上次detector.getPreviousSpanX();//上次detector.getPreviousSpanY();//上次detector.getEventTime();//当前事件的事件detector.getTimeDelta(); //两次事件间的时间差detector.getScaleFactor(); //与上次事件相比,得到的比例因子return true;}}
创建手势探测器
private GestureDetector gestureDetector; //手势探测器private ScaleGestureDetector scaleGestureDetector;//比率手势探测器...gestureDetector = new GestureDetector(context, new ZoomGesture());scaleGestureDetector = new ScaleGestureDetector(context, new ScaleGesture());public boolean onTouchEvent(MotionEvent event) { //单点gestureDetector.onTouchEvent(event); //双点 scaleGestureDetector.onTouchEvent(event);return true;}
更多相关文章
- android通知栏响应事件
- Android(安卓)输入事件一撸到底之源头活水(1)
- 自定义android循环拖动组件
- android 事件的获取
- FrameLayout 点击事件穿透解决方案
- 十分钟让你了解Android触摸事件原理(InputManagerService)
- Android零基础入门第34节:Android中基于监听的事件处理
- Android(安卓)事件全局监听(二)需要root权限 ,使用getevent监听Andr
- android实现观察者模式的几种方法