Ajuste de los contenidos de la página web dentro de una vista web (Android)

Pregunta simple.

Estoy tratando de estirar el contenido de una webview para que la página web entera dentro de es visible. Es decir, sin desplazamiento. He mirado a través de los documentos, pero no puedo encontrar ningún método aparte de controles de zoom y setinitialscale.

El problema con setinitialscale en este caso es que funciona de manera diferente para diferentes sitios.

Ejemplo: 1: wikipedia se cargará como se esperaba con el zoom lo suficientemente lejos. 2: Google, sin embargo, sólo mostrará el centro de la página.

He aquí el fragmento de código que he

test1 = (WebView) findViewById(R.id.webview_test_1); test2 = (WebView) findViewById(R.id.webview_test_2); test3 = (WebView) findViewById(R.id.webview_test_3); test1.getSettings().setJavaScriptEnabled(true); test2.getSettings().setJavaScriptEnabled(true); test3.getSettings().setJavaScriptEnabled(true); test1.setInitialScale(12); test2.setInitialScale(12); test3.setInitialScale(12); test1.loadUrl("http://developer.android.com/resources/tutorials/views/hello-tablelayout.html"); test2.loadUrl("http://www.wikipedia.org/"); test3.loadUrl("http://www.google.com"); 

 test1.getSettings().setDefaultZoom(ZoomDensity.FAR); 

Esto parece ser una alternativa a lo que estoy tratando de hacer, pero no puedo conseguir que el zoom lo suficientemente lejos.

Así que la gente puede usar esto como un tutorial en el futuro.

Hay un montón de maneras de manejar zooms en android y las páginas de ajuste. Puede ser bastante temperamental a veces y algunos métodos funcionan mejor que otros.

Para la mayoría de la gente, solo usa

WebView x;

 x.setInitialScale(1); 

Este es el zoom de furtheset posible. Pero para algunos sitios que sólo se ve puro feo.

Esta fue la segunda versión que encontré

 test1.getSettings().setDefaultZoom(ZoomDensity.FAR); 

Eso es un agradable todo redonda de lo que parece sólo zoom fuera lo suficientemente lejos para un montón, pero aún no lo que estaba buscando.

Y ahora es la solución final que tengo.

 x.getSettings().setLoadWithOverviewMode(true); x.getSettings().setUseWideViewPort(true); 

Básicamente lo que estos hacen se responde en otra pregunta como esta.

  setLoadWithOverviewMode(true) 

Carga el WebView totalmente alejado

 setUseWideViewPort(true) 

Hace que la vista Web tenga una vista normal (como un navegador de escritorio normal), mientras que cuando es falsa, la vista web tendrá una ventana restringida a sus propias dimensiones (de modo que si la vista web es 50px * 50px, la vista será del mismo tamaño)

He intentado todos los métodos anteriores, pero en mi caso nada funcionó hasta que me enteré:

  <meta name="viewport" content="user-scalable=no"/> 

Eliminar esta línea en el archivo html o simplemente cambiar user-scalable = yes, y todo estará bien. Me llevó casi un día para descubrir esta línea loca.

  • Renderizar archivos epub en android
  • Redirigir la vista web de Android con el filtro de intenciones
  • Cómo utilizar una fuente personalizada con WebView
  • Cómo incrustar una fuente personalizada en la aplicación de Android (WebView)
  • Reproducción de vídeo local en WebView en Android
  • Cómo activar la cámara frontal en la vista web de android
  • Los subprocesos WebView nunca se detienen (WebViewCoreThread, CookieSyncManager, http )
  • Cómo jugar auto iframe youtube en webview android
  • SwipeRefreshLayout + WebView cuando la posición de desplazamiento está en la parte superior
  • Diseño de página de pago de Paypal roto en webview android
  • Vista web de Android: detección de desplazamiento
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.