2010-10-04 104 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