2013-11-28 4 views
2

캔트 및 scalegesturedetector 아웃 줌 사용자 또는 scaleGestureDetector차별화 안드로이드

mZoomGestureDetector = new ScaleGestureDetector(getActivity(), new OnScaleGestureListener() 
     { 

      int intFactor=0; 
      boolean firstVisited = false; 

      private float mScaleFactor2; 
      private float currectScale= -100; 
      private float startScale; 
      private float endScale; 

      @Override 
      public void onScaleEnd(ScaleGestureDetector detector) 
      { 
       endScale = detector.getScaleFactor(); 

//this condition does not pass. not > or < succeeds 
       if (startScale > endScale) { 
        Log.i("onScaleEnd", "Pinch Dection"); 
       } else if (startScale < endScale) { 
        Log.i("onScaleEnd", "Zoom Dection"); 
       } 
       setFontSize(intFactor); 

      } 


      @Override 
      public boolean onScaleBegin(ScaleGestureDetector detector) 
      { 

       startScale = detector.getScaleFactor(); 

       return true; 
      } 

      @Override 
      public boolean onScale(ScaleGestureDetector detector) 
      { 
       //Log.i("ScaleFactor", "Scale Factor original " + detector.getScaleFactor()); 

       mScaleFactor = detector.getScaleFactor() * 100; 



       Log.i("ScaleFactor", "Scale Factor : On " + mScaleFactor); 

       intFactor = (int) mScaleFactor; 


       return true; 
      } 
     }); 
     ; 

답변

4

을 사용하여 확대되는 경우 구별 사이에 나는 다음과 그것을 해결 :

  @Override 
      public boolean onScale(ScaleGestureDetector detector) 
      { 

       double scaleFactor = detector.getScaleFactor(); 
       if (1.0f > scaleFactor) { 
        mode = 0;//Log.i("ScaleFactor", "Pinch Dection"); 
       } else { 
        mode = 1;//Log.i("onScaleEnd", "Zoom Dection"); 
       } 

} 
+0

은 어떻게 당신이 할 수있는, 너무 sensitvie입니다 감도를 줄이기 위해? – HendraWD