//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; }}