2010-10-04 74 views

回答

62
mWebView.setOnTouchListener(new View.OnTouchListener() { 
    @Override 
    public boolean onTouch(View v, MotionEvent event) { 
     return true; 
    } 
}); 

因为触摸监听器之前WebView的默认触摸行为执行禁止在WebView所有触摸事件。通过返回true事件被消耗并且不传播到WebView。使用android:clickable="false"不禁用触摸事件。

+0

那么,如何恢复事件?想象一下,我必须暂时禁用它们,然后在需要时重新启用它们。 – Hosane 2012-09-12 16:13:50

+2

其实,设置'android:clickable'和longClickable都应该为webview做一些技巧 – 2012-10-07 18:49:31

1

如果我找到了你,你只需要覆盖onTouchEvent方法。

+0

最有可能的应该工作。我想知道是否有财产或比这更简单的东西。 – hpique 2010-10-04 09:09:29

+0

啊我看到了,那么你可能想尝试给你的WebView这个布局参数android:clickable =“false”。我不确定它是否有效,但理论上它应该像WebView从View继承。 – 2010-10-04 09:14:16

+0

不起作用,但我找到了另一个我发布的解决方案。 – hpique 2010-10-04 14:30:59