Prise Zoom in WebView [Android
-
26-09-2019 - |
Frage
Auf meiner Website, die in der Webview geladen ist, gibt es eine Karte. Es gibt auch Java -Skripte, die doppelte Tippen für Zoom, Ziehen usw. erkennt. Ist es jedoch möglich, ein JavaScript zu haben, das die Verwendung von Pinch -Zoom erkennt? Es gibt mehrere Beispiele dafür, dass es auf einem iPhone funktioniert, und auf meiner Website gibt es ein Skript für den Pinch -Zoom, aber es funktioniert nur auf dem iPhone .....
Ist es möglich, es an Android zu arbeiten?
Vielen Dank
Lösung
Es gibt eine Open-Source-Bibliothek namens Android-Pinch Sie können in Ihr Projekt einbeziehen, um Pinch Zoom zu aktivieren, wenn Sie Ihre wechseln WebView
zu einem WebImageView
. Hier ist ein Beispiel für den Gebrauch ...
// create the WebImageView object from xml
WebImageView img = (WebImageView) findViewById(R.id.main_pic);
// fetches the image in a background thread
img.setImageFromURL("http://www.mysite.com/mypicture.jpg");
// enable pinch-zoom abilities on the image
new PinchImageView(img);
Andere Tipps
Wenn Sie Webinhalte in Ihrem WebView skalieren und Pinch und Zoom aktivieren möchten, bevorzuge ich den einfachen Android -Weg.
webView.getSettings().setBuiltInZoomControls(true);
und Sie können die Steuerelemente sogar verbergen, wenn Sie API 11 oder höher verwenden
webView.getSettings().setDisplayZoomControls(false)
Es ist nicht genau in einem Webview, aber in jedem Layout habe ich einen Code geschrieben, um die Prise in einer Android -Ansicht zu erkennen.
Ich habe Tage gebraucht, um eine Lösung dafür zu finden, also machte ich meinen eigenen maßgeschneiderten Gestendetektor.
Sie können es in GitHub sehen: http://github.com/luisfer/neckar
Ich hoffe es hilft.
Das exzellent Lernprogramm zeigt, wie die Pinch -Geste implementiert wird.