2013-04-29 36 views
0

我有一个ScaleGestureDetector的自定义视图,在该视图上我想使用捏来缩放操作。 当视图非常大时,它可以正常工作,但是当它很小时,只有zomm能正常工作(我将两个手指放在视图上并将它们沿不同方向移动),当我尝试缩小视图时(将两个手指放在视图上并一起移动)没有任何反应。屏幕截图如下: enter image description here使用ScaleGestureDetector缩小视图

问题出现在中心的小视图中。 在顶部和底部的较大视图zomm和缩小工作正常。

代码:

private class MyScaleGestureListener implements OnScaleGestureListener 
{ 
    public boolean onScale(ScaleGestureDetector detector) 
    { 
     scaleFactor *= detector.getScaleFactor(); 
     if (scaleFactor < 1) 
      scaleFactor = 1; 

     int newScrollX = (int)((getScrollX() + detector.getFocusX()) * detector.getScaleFactor() - detector.getFocusX()); 
     int newScrollY = (int)((getScrollY() + detector.getFocusY()) * detector.getScaleFactor() - detector.getFocusY()); 
     scrollTo(newScrollX, newScrollY); 

     invalidate(); 

     return true; 
    } 

    public boolean onScaleBegin(ScaleGestureDetector detector) 
    { 
     return true; 
    } 

    public void onScaleEnd(ScaleGestureDetector detector) 
    { 
    } 
} 

如何使变焦失去工作的小看法?

回答