web-dev-qa-db-ja.com

AndroidでWebViewタッチイベントを無効にする

Android WebView(または特にスクロール))ですべてのタッチイベントを無効にするにはどうすればよいですか?すべてのタッチイベントを処理するアクティビティが必要です。

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

WebViewのデフォルトのタッチ動作の前にタッチリスナーが実行されるため、WebViewのすべてのタッチイベントを無効にします。 trueを返すことにより、イベントは消費され、WebViewに伝播されません。

Android:clickable="false"を使用しても、タッチイベントは無効になりません。

66
hpique

私があなたを正しく理解しているなら、あなたは onTouchEvent メソッドを上書きしなければなりません。

1