Wie deaktivieren Sie alle Touch-Ereignisse in einem Android WebView (oder Scrollen insbesondere)? Ich möchte, dass die Aktivität alle Berührungsereignisse behandelt.Deaktivieren Sie WebView-Touch-Ereignisse in Android
Antwort
mWebView.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
return true;
}
});
Deaktiviert alle Touch-Ereignisse auf einem WebView
weil die Berührungs Zuhörer vor dem Standard-Touch-Verhalten des WebView
ausgeführt wird. Durch die Rückgabe true
wird das Ereignis konsumiert und nicht an die WebView
weitergegeben.
Die Verwendung von android:clickable="false"
deaktiviert keine Berührungsereignisse.
Wenn ich dich richtig verstanden habe, musst du nur die onTouchEvent Methode überschreiben.
Höchstwahrscheinlich sollte das funktionieren. Ich fragte mich, ob es eine Immobilie oder etwas einfacheres gab. – hpique
Ah ich sehe gut, dann möchten Sie vielleicht versuchen, Ihrem WebView diesen Layout-Parameter android zu geben: clickable = "false". Ich bin nicht sicher, ob es funktioniert, aber theoretisch sollte es wie WebView von View vererbt werden. –
Funktioniert nicht, aber ich habe eine andere Lösung gefunden, die ich gepostet habe. – hpique
Dann, wie die Ereignisse wiederherstellen? Stellen Sie sich vor, ich muss sie vorübergehend deaktivieren und sie dann wieder aktivieren, wenn ich sie brauche. – Hosane
Eigentlich sollte die Einstellung "android: clickable" und "longClickable" den Trick für eine Webansicht darstellen –