WebView height = wrap_content con cambiar el tamaño de fuente no funciona

Tengo webview con layout_height = "wrap_content". Si aumento el tamaño de fuente predeterminado, la altura de la vista web también aumenta. Pero si disminuyo el tamaño de fuente predeterminado, la altura de la vista web no disminuye. Así que hay espacio vacío en el fondo restante.

He intentado seguir truco:

articleContent.getSettings().setDefaultFontSize(fontSize); RelativeLayout.LayoutParams layoutParams = new LayoutParams(ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT); layoutParams.addRule(RelativeLayout.BELOW, subtitleTextView.getId()); articleContent.setLayoutParams(layoutParams); 

Pero no ayudó. Sé que hay la manera de arreglarlo recreando WebView con un código cuando cambio tamaño de fuente predeterminado, pero en mi situación no puedo hacer así. Tengo que mantener la vista web, porque hay algunas opiniones abajo, y no puedo recrearlos también.

7 Solutions collect form web for “WebView height = wrap_content con cambiar el tamaño de fuente no funciona”

prueba esto

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <WebView android:id="@+id/webview1" android:layout_width="wrap_content" android:layout_height="fill_parent" /> </LinearLayout> 

La única solución que he encontrado que realmente funciona, está en el cliente com.android.email que viene con el proyecto Open Source de Android. Allí, tienen un RigidWebView que funciona con el wrap_content y se redimensionará en consecuencia cuando cambie el contenido. El código fuente para esto se puede encontrar aquí:

.

Necesitará las clases de reloj y acelerador que vienen con él, pero con cambios menores en el código, puede hacerlo para que funcione en su aplicación. Entonces dondequiera que usted definiría normalmente un WebView, usted puede utilizar RigidWebView en lugar de otro.

El problema se hace referencia al rastreador de problemas de Android aquí:
https://code.google.com/p/android/issues/detail?id=18726

Si lo que realmente quieres es un WebView que envuelve tu contenido, parece que la única solución es crear un nuevo WebView cada vez que cambie el contenido (lo cual puede no ser aceptable cuando se enfocan dispositivos de memoria baja). Es la solución que he adoptado de todos modos.

Este problema debe solucionarse en KitKat WebView.

Para las versiones de WebView antes de KitKat no hay ninguna buena solución que conozco. Alterar el ancho del WebView debe forzar un recálculo de altura, pero también puede provocar problemas visuales.

Creo que forzar temporalmente una altura de 0 y luego voltear a wrap_contents debe deshacerse del exceso de relleno también.

Prueba esto,

 webview.setVisibility(View.GONE); webview.setVisibility(View.VISIBLE); 

Solo agregue esto

 LinearLayout.LayoutParams wv_l = new LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.WRAP_CONTENT); wv.setLayoutParams(wv_l); 

Pruebe la siguiente combinación:

 <LinearLayout android:id="@+id/xxxxxxxxxxxxxxxxxxx" android:layout_width="match_parent" android:layout_height="200dp" android:orientation="vertical" > <TextView android:id="@+id/yyyyyyyyyyyyyyyyyyyyy" style="@style/Etiquetas" android:text="@string/hola" /> <WebView android:paddingLeft="10dp" android:id="@+id/zzzzzzzzzzzzzzz" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@null" > </WebView> </LinearLayout> 

Java:

 LinearLayout. LayoutParams params = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.WRAP_CONTENT); xxxxxxxxxxxxxxxxxxx.setLayoutParams(params); WebView zzzzzzzzzzzzzzz = (WebView) findViewById(R.id.zzzzzzzzzzzzzzz); zzzzzzzzzzzzzzz.setBackgroundColor(0x00000000); zzzzzzzzzzzzzzz.loadData(Html.fromHtml(mistringsqlite).toString(), "text/html", null); 
  • Cómo buscar texto en la vista web
  • Mejorar el rendimiento de webView (debe tener el mismo rendimiento que el navegador web nativo)
  • Webview html formulario de entrada no mostrar / permitir el teclado
  • Google Drive, el visor de pdf ya no funciona en android
  • Vista web de Android lenta
  • Cómo obtener contenido html desde una webview?
  • Android - después de cargar URL con webview puedo cambiar el color de fondo
  • Mostrar archivo PDF en Android WebView utilizando mozilla pdf.js Nivel de API Android inferior a 19
  • Establecer una imagen de fondo para una vista web en Android
  • Vista web de Android POST
  • Hacer que el inicio de sesión en facebook funcione con una vista Web de Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.