2011-08-19 27 views
91

La aplicación de navegador predeterminada para Android muestra los controles de zoom cuando se desplaza y también permite el acercamiento de pellizco. ¿Cómo puedo habilitar esta función para mi propia vista web?¿Cómo habilitar los controles de zoom y pellizcar el zoom en un WebView?

que he probado:

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

pero ninguna de las características habilitadas conseguir como resultado. Por cierto, he establecido un WebChromeClient y un WebViewClient para el Webview si eso hace la diferencia.

Gracias!

Respuesta

214

Extraño. Dentro del método OnCreate, estoy usando

webView.getSettings().setBuiltInZoomControls(true); 

Y funciona bien aquí. ¿Algo en particular en su vista web?

+30

Mientras que esto permitirá que pellizcar para hacer zoom, también mostrará un control de zoom de superposición (Galaxy S3). Para deshabilitar la herramienta de zoom en pantalla, pero conservar la funcionalidad de pellizcar para acercar, también debe llamar a webView.setDisplayZoomControls (false). – Lev

+27

^'webView.getSettings(). SetDisplayZoomControls (falso);' – wiseindy

26

Compruebe si no tiene un ScrollView que envuelve su Webview.

En mi caso ese era el problema. Parece que ScrollView se interpone en el camino del gesto de pellizco.

Para solucionarlo, solo tome su Webview fuera de ScrollView.

+5

has guardado mi día – allemattio

+0

muchas gracias por tu respuesta – MrBii

+0

Funciona muy bien para mí. ¡Ahora puedo eliminar mi vista de desplazamiento anidada por completo! –

54

uso siguientes:

wv.getSettings().setBuiltInZoomControls(true); 
wv.getSettings().setDisplayZoomControls(false); 
+0

más 1, por la respuesta ... me ayudó. –

+0

Sí, setBuiltInZoomControls (true) y setDisplayZoomControls (false) funcionó para mí. –

Cuestiones relacionadas