//1、创建手势识别器 private ScaleGestureDetector scaleGestureDetector = new ScaleGestureDetector(getApplicationContext() ,new MyScaleOnGestureListener()); //2、给手势识别器传递 触摸事件 @Override public boolean onTouchEvent(MotionEvent event) { return scaleGestureDetector.onTouchEvent(event); } //3、实现 手势识别器的回掉接口 public class MyScaleOnGestureListener extends ScaleGestureDetector.SimpleOnScaleGestureListener{ @Override public boolean onScale(ScaleGestureDetector detector) { //可以获得的一些参数 detector.getCurrentSpan();//两点间的距离跨度 detector.getCurrentSpanX();//两点间的x距离 detector.getCurrentSpanY();//两点间的y距离detector.getFocusX(); //获得两手指点之间的 中点X值 detector.getFocusY(); //获得两手指点之间的 中点Y值detector.getPreviousSpan(); //上次 两点间的距离跨度 detector.getPreviousSpanX();//上次 detector.getPreviousSpanY();//上次 detector.getEventTime(); //当前事件的事件 detector.getTimeDelta(); //两次事件间的时间差 detector.getScaleFactor(); //与上次事件相比,得到的比例因子 //getScaleFactor() = getCurrentSpan()/getPreviousSpan(); return true ; } @Override public void onScaleEnd(ScaleGestureDetector detector) { } @Override public boolean onScaleBegin(ScaleGestureDetector detector) { return true; }}
ScaleGestureDetector SimpleOnScaleGestureListener缩放手势识别器
最新推荐文章于 2024-04-07 19:04:32 发布