我对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 );
从我的角度来看,这种变化不应该对手机产生任何影响,之前一切都运行良好。但是现在在我自己的手机上(在以前的版本上一切正常)我无法使用双击缩放。
你知道它为什么会这样吗?我怎样才能让它在旧手机上也能正常工作?