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%.

¿Ideas?

Actualización: No funciona en el emulador, en mi Droid (Motorola), o en mi G1 (HTC).

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.

  • Abrir una nueva actividad de Android con una vista web muestra una pantalla en blanco (en blanco) en lugar del contenido html
  • Reemplazar o manejar el botón "Ir" en WebView
  • Modificar el título de la alerta () (Javascript en la vista Web de Android)
  • Vista web de Android "Sincronizar sintaxis: Error inesperado ILEGAL"
  • Admob bloquea nuestra aplicación con NullPointerException en DeviceMotionService
  • Ninguno de los métodos en la interfaz añadida se han anotado con @ android.webkit.JavascriptInterface; No serán visibles en API 17
  • Cómo habilitar las cookies en android webview?
  • URL de la ventana nueva de WebView de Android
  • El mejor enfoque para pasar datos desde la vista web a la aplicación nativa (Windows, iOS y Android)
  • Android WebView: Determine <a> target = "_ blank"
  • Cómo obtener la posición del documento en un WebView?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.