Android WebView no respeta el porcentaje de escala
Tengo un WebView que estoy tratando de tener escala a un cierto porcentaje en la carga de la página. La versión para iPhone de este software utiliza la meta-etiqueta HTML:
<meta name="viewport" content="width=320, initial-scale=0.95, maximum-scale=2.0, user-scalable=1">
Debido a que WebView de Android no parece respetar esa etiqueta, codifiqué el porcentaje con setInitialScale () . Sin embargo, el WebView es simplemente plano ignorando esta llamada de método. No importa qué número puse allí demuestra en el 100%.
- El método webview.goBack () no invoca el método shouldOverrideUrlLoading
- ¿Es posible cambiar el contexto de un WebView después de haber sido instanciado?
- Pase un valor a loadURL - Android
- PictureListener está obsoleto y obsoleto, ¿hay un reemplazo?
- WebView no carga mi HTML la segunda vez?
¿Ideas?
Actualización: No funciona en el emulador, en mi Droid (Motorola), o en mi G1 (HTC).
- ¿Es posible utilizar content: // como fuente para un elemento <audio> en un WebView
- Android: deshabilita la selección de texto en una vista web
- Bucle muerto en backkey android webview para redireccionar href link
- Volver Navegación en una aplicación Webview de Android
- Reanudar la vista web de Android cuando se detiene por OS / ejecutar JavaScript en la aplicación en segundo plano?
- Web View Display "Android WebCore no es compatible en este caso" Advertencia
- Interrupciones de la interfaz de Android 4.2.1, WebView y javascript
- WebView clearHistory () en la funcionalidad de Webview canGoback ()?
Algunos dispositivos HTC tienen problemas con WebView
, prueba este fragmento!
import java.lang.reflect.Method; import java.lang.reflect.InvocationTargetException; myWebView = new WebView(this); myWebView.getSettings().setLoadsImagesAutomatically(true); myWebView.getSettings().setJavaScriptEnabled(true); myWebView.getSettings().setBuiltInZoomControls(true); myWebView.setInitialScale(100); try { Method m = myWebView.getClass().getMethod("setIsCacheDrawBitmap", boolean.class); if (m != null) { m.invoke(myWebView, false); myWebView.getSettings().setLayoutAlgorithm(WebSettings.LayoutAlgorithm.NORMAL); } } catch (NoSuchMethodException e) { } catch (IllegalAccessException e) { } catch (InvocationTargetException e) { } myWebView.loadUrl("http://www.stackoverflow.com");
¿Habilitó el soporte de zoom para su webview?
WebSettings webSettings = mywebView.getSettings(); webSettings.setSupportZoom(true);
El código siguiente me ayudó cuando la mía no estaba respondiendo. Merece un intento:
mywebview.setWebViewClient(new WebViewClient()); mywebview.getSettings().setSupportZoom(true) ; mywebview.getSettings().setUseWideViewPort(true) ; mywebview.setInitialScale(1) ; mywebview.loadUrl(sURL);
¿Qué versión está ejecutando? Parece que 2.0 y abajo tenía un problema con esto pero fue resuelto en el 2.1.
Puede ver varias opciones.
1. Probablemente hay algo mal con tu código. Aquí está el código más simple y puedo decir que funciona para mí. El contenido está escalado.
WebView webview1 = (WebView) findViewById(R.id.webview1); webview1.setInitialScale(30); webview1.loadUrl("http://stackoverflow.com");
Por favor, publica tu código. Todo el código relacionado con la configuración de WebView. Pruebo en el emulador 2.2
2. Probablemente hay algo mal con url que probar. Usted puede probar " http://stackoverflow.com " como prueba con él y se ajusta a la escala.
3. Tal vez usamos diferentes SDKs. ¿Qué SDK construyes contra? Quiero decir cuál es su objetivo en default.properties? ¿Cuál es su uso-sdk en AndroidManifest.xml?
Aquí hay una prueba sencilla que funciona bien para mí http://open-pim.com/tmp/WebViewTest.zip . Usted puede intentarlo también.
La meta
funciona para mí, si separo los parámetros con punto y coma (;) en lugar de comas (,). He utilizado esto en el pasado:
<meta name="viewport" content="initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
Y funciona, al menos en el navegador. No estoy seguro acerca de un WebView
, pero podría valer la pena una oportunidad.
- Vinculación Estática de Android vs Vinculación Dinámica con glibc
- ¿Existen bibliotecas de gestos de código abierto en Android?