2013-03-04 41 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); 
} 

而且,我该怎么办了“规模”运动在模拟器中,这可能吗?

回答