ImageViewTouch不适用于旧款手机(GestureDetector)

时间:2013-07-28 11:26:14

标签: android imageview gesture gestures gesturedetector

我遇到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 );

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

你知道它为什么会那样运作吗? 即使在较旧的手机上,我怎样才能使它工作?

0 个答案:

没有答案