2013-03-04 42 views
0

我創建了自定義視圖,並且想要處理在視圖中顯示的數據的滾動和縮放。Android - 比例和滾動檢測器

所以我試圖結合一個手勢和一個比例檢測器。 這是我的代碼,滾動檢測器似乎工作,但我不能讓秤檢測器作出反應。

有什麼建議嗎?

這裏是我的代碼:

public void initGestureDetectors() { 
    GestureDetector.SimpleOnGestureListener gestureListener = new GestureDetector.SimpleOnGestureListener() { 
      @Override 
      public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) { 
       scrollBy((int)distanceX, (int)distanceY); 
       return true; 
      } 

     }; 


    gestureDetector = new GestureDetector(getContext(), gestureListener); 

    ScaleGestureDetector.SimpleOnScaleGestureListener scaleListener = new ScaleGestureDetector.SimpleOnScaleGestureListener() { 
     public boolean onScale (ScaleGestureDetector detector) { 
      // check scale is not too small 
      Toast.makeText(getContext(), "Scale x " + detector.getScaleFactor(), Toast.LENGTH_SHORT).show(); 
      if(detector.getScaleFactor() > 0.5) { 
       return true; 
      } 
      return false; 
     } 
    }; 
    scaleDetector = new ScaleGestureDetector(getContext(), scaleListener); 

    setOnTouchListener(new OnTouchListener() { 
     public boolean onTouch(View view, MotionEvent motionEvent) { 
      gestureDetector.onTouchEvent(motionEvent); 
      return true; 
     } 
    }); 
} 


public boolean onTouchEvent(MotionEvent event) { 
    if (event.getPointerCount() > 1) { 
     Toast.makeText(getContext(), "detected", Toast.LENGTH_SHORT).show(); 
      return scaleDetector.onTouchEvent(event); 
     } 
    return gestureDetector.onTouchEvent(event); 
} 

而且,我該怎麼辦了「規模」運動在模擬器中,這可能嗎?

回答