我阅读了很多关于 Zooming in WebViews 主题的票,并没有为我的案例找到答案。
这是我的设置:
我正在使用通常具有以下设置的自定义网络视图:
getSettings().setBuiltInZoomControls(false);
getSettings().setSupportZoom(false);
getSettings().setUseWideViewPort(true);
getSettings().setLoadWithOverviewMode(true);
让我在这里注意一下,我依赖 OverviewMode 以及 WideViewPort 来缩放我的 WebView。
我还覆盖了我的 OnTouchEvent 并将所有合适的事件委托给手势检测器:
@Override
public boolean onTouchEvent(MotionEvent event) {
if (gestureDetector.onTouchEvent(event)) return true;
return super.onTouchEvent(event);
}
这是拦截所有 doubleTap 事件的侦听器实现:
@Override
public boolean onDoubleTapEvent(MotionEvent e) {
// Do nothing!
return true;
}
@Override
public boolean onDoubleTap(MotionEvent e) {
// Do nothing!
return true;
}
@Override
public boolean onSingleTapConfirmed(MotionEvent e) {
// Do nothing!
return true;
}
我还覆盖了这两个与缩放相关的 WebView 方法:
@Override
public boolean zoomIn() {
return true;
}
@Override
public boolean zoomOut() {
return true;
}
除了所有这些选项,特定的点击频率会导致我的 web 视图放大/缩小。我还没有找到禁用这种缩放的选项,此缩放的 MotionEvent 似乎不适用于 GestureDetector 并且覆盖 zoomIn() zoomOut() 方法也没有效果。
任何人都可以帮助我避免这种 WebView 的双击缩放行为吗?