2012-08-27 3 views
1

ScaleGesture에서 안드로이드는 축척 계수를 detector.getScaleFactor();으로 계산하며 범위는 어느 정도입니까?안드로이드 스케일 제스처는 어떻게 작동합니까?

private class ScaleListener extends ScaleGestureDetector.SimpleOnScaleGestureListener { 
      @Override 
      public boolean onScale(ScaleGestureDetector detector) { 
       mScaleFactor *= detector.getScaleFactor(); 

       // Don't let the object get too small or too large. 
       mScaleFactor = Math.max(0.1f, Math.min(mScaleFactor, 15.0f)); 
       _renderer.z=-mScaleFactor; 
       invalidate(); 
       return true; 
      } 
     } 

답변

1

당신이 핀치를 검색 할 경우에는 같은 공식 기본적으로 소스 코드에 따라 찾을 수 있습니다 :

mScaleFactor = getCurrentSpan()/getPreviousSpan(); 

그것은 이전/첫번째 핀치로 나눈 현재의 핀치의 거리입니다.

+0

이것은 안드로이드 6.0에서 작동하지 않습니다 내 질문보기 : http://stackoverflow.com/questions/39594539/scalegesturedetector-getscalefactoralways-returning-1-0-in-android-6-0 –

관련 문제