webentwicklung-frage-antwort-db.com.de

Wie aktiviere ich Zoom-Steuerelemente und klemme den Zoom in einem WebView ein?

Die Standard-Browser-App für Android zeigt Zoom-Steuerelemente beim Scrollen an und ermöglicht auch das Pinch-Zoomen. Wie kann ich diese Funktion für mein eigenes Webview aktivieren?

Ich habe es versucht:

webSettings.setBuiltInZoomControls(true);
webSettings.setSupportZoom(true);

infolgedessen wird jedoch keine der Funktionen aktiviert. Übrigens habe ich ein WebChromeClient und ein WebViewClient für die Webansicht festgelegt, wenn dies einen Unterschied macht.

Vielen Dank!

115
Robert Bana

Seltsam. Innerhalb der OnCreate-Methode verwende ich

webView.getSettings().setBuiltInZoomControls(true);

Und es funktioniert gut hier. Irgendetwas Besonderes in Ihrer Webansicht?

261
zov

Benutze diese:

webview.getSettings().setBuiltInZoomControls(true);
webview.getSettings().setDisplayZoomControls(false);
80
Dario Bruzzese

Überprüfen Sie, ob Sie nicht über eine ScrollView verfügen, die Ihre Webansicht umschließt .

In meinem Fall war das das Problem. Es scheint, dass ScrollView die Pinch-Geste stört.

Um das Problem zu beheben, können Sie Ihre Webansicht einfach aus der ScrollView entfernen .

33
Tiago

Fügen Sie in OnCreate Folgendes hinzu:

 webview.getSettings().setSupportZoom(true);
 webview.getSettings().setBuiltInZoomControls(true);
 webview.getSettings().setDisplayZoomControls(false);

Fügen Sie im HTML-Dokument Folgendes hinzu:

<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=2, user-scalable=yes">
</head>
</html>

Lassen Sie in Javascript Folgendes weg:

//event.preventDefault ? event.preventDefault() : (event.returnValue = false);
2
Jarir

Versuchen Sie diesen Code, ich werde gut funktionieren.

 webSettings.setSupportZoom(true);
 webSettings.setBuiltInZoomControls(true);
 webSettings.setDisplayZoomControls(false);
1
Muhammed Haris

Fügen Sie die folgende Zeile hinzu, um Zoom-Steuerelemente in einer WebView zu aktivieren:

webView.getSettings().setBuiltInZoomControls(true);

Mit dieser Codezeile wird der Zoom in Ihrem WebView aktiviert. Wenn Sie die vorhandenen Schaltflächen zum Vergrößern und Verkleinern entfernen möchten, fügen Sie die folgende Codezeile hinzu:

webView.getSettings().setDisplayZoomControls(false);
0
Anubhav