Domyślna aplikacja przeglądarki na Androida pokazuje elementy sterujące powiększeniem podczas przewijania, a także umożliwia powiększanie przez szczypanie. Jak mogę włączyć tę funkcję dla mojego własnego Webview?
Próbowałem:
webSettings.setBuiltInZoomControls(true);
webSettings.setSupportZoom(true);
ale w rezultacie żadna z funkcji nie zostaje włączona. Przy okazji ustawiłem a WebChromeClient
i WebViewClient
dla Webview, jeśli to robi różnicę.
Dzięki!
webView.getSettings().setDisplayZoomControls(false);
WebView webView = (WebView) appView.getEngine().getView();
jak pokazano w tym komentarzu.Użyj tych:
webview.getSettings().setBuiltInZoomControls(true); webview.getSettings().setDisplayZoomControls(false);
źródło
Sprawdź, czy nie masz ScrollView opakowującego widok Webview .
W moim przypadku to był problem. Wygląda na to, że ScrollView przeszkadza w wykonaniu gestu uszczypnięcia.
Aby to naprawić, po prostu przenieś swój Webview poza ScrollView .
źródło
Wewnątrz OnCreate dodaj:
webview.getSettings().setSupportZoom(true); webview.getSettings().setBuiltInZoomControls(true); webview.getSettings().setDisplayZoomControls(false);
W dokumencie html dodaj:
<html> <head> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=2, user-scalable=yes"> </head> </html>
W javascript pomiń:
//event.preventDefault ? event.preventDefault() : (event.returnValue = false);
źródło
true
, dlategowebview.getSettings().setSupportZoom(true);
domyślnie nie ma takiej potrzeby .Aby włączyć elementy sterujące powiększeniem w widoku WebView, dodaj następujący wiersz:
webView.getSettings().setBuiltInZoomControls(true);
Za pomocą tej linii kodu możesz włączyć powiększanie w swoim WebView, jeśli chcesz usunąć dostarczone przyciski powiększania i pomniejszania, dodaj następujący wiersz kodu:
webView.getSettings().setDisplayZoomControls(false);
źródło
Wypróbuj ten kod, działam dobrze.
webSettings.setSupportZoom(true); webSettings.setBuiltInZoomControls(true); webSettings.setDisplayZoomControls(false);
źródło