1

我对ImageViewTouch (ImageViewZoom)有疑问。

尤其是 ImageViewTouch 类中的这一行:

mGestureDetector = new GestureDetector( getContext(), mGestureListener, null, true );

当手机上有可用的 GestureListener 时,一切正常。在没有的时候有若干错误。

我试图通过将此行更改为:

try {
    mGestureDetector = new GestureDetector( getContext(), mGestureListener, null, true );
}
catch(Exception e1) {
    try {
        mGestureDetector = new GestureDetector( getContext(), mGestureListener )
    }
    catch(Exception e2) {
        System.out.println("No gesture detector.");
    }
}

我也改变了这一行:

if ( !mScaleDetector.isInProgress() ) mGestureDetector.onTouchEvent( event );

进入这个:

if ( ( !mScaleDetector.isInProgress() ) && ( mGestureDetector != null ) ) mGestureDetector.onTouchEvent( event );

从我的角度来看,这种变化不应该对手机产生任何影响,之前一切都运行良好。但是现在在我自己的手机上(在以前的版本上一切正常)我无法使用双击缩放。

你知道它为什么会这样吗?我怎样才能让它在旧手机上也能正常工作?

4

0 回答 0