Android WebView deja espacio para la barra de desplazamiento

2 minutos de lectura

En mi WebView, tengo algunos elementos de bloque que tienen un color de fondo (diferente al blanco). Sin embargo, el color de fondo no va todo el camino a través del cielo.. um, pantalla. En su lugar, deja una pequeña franja blanca a la derecha, donde iría la barra de desplazamiento. Ahora, quiero que las barras de desplazamiento aparezcan solo al desplazarse (y desaparezcan una vez que el usuario haya terminado de desplazarse). Lo intenté:

android:fadingEdge="vertical|horizontal"
android:fadeScrollbars="true"
android:scrollbarStyle="insideOverlay" (and all other options)

Además, mi HTML contiene lo siguiente en <head>:

<meta name="viewport" content="target-densitydpi=device-dpi" />

Para que no permita hacer zoom y no se aleje por defecto.

Sin embargo, no puedo entender cómo deshacerme de la franja blanca. ¿Algunas ideas?

  • Una solución obvia (pero mala) es envolver el WebView en un ScrollView y establecer scrollbarStyle="insideOverlay" en ese.

    – Félix

    22 de octubre de 2010 a las 16:31

  • Además, mi solución actual es android:scrollbars="none" que oculta permanentemente las barras de desplazamiento (y también el área blanca). Sin embargo, esto no es óptimo.

    – Félix

    22 de octubre de 2010 a las 16:43

avatar de usuario
Yaks

Luché contra este también. Encontré la respuesta aquí.

Parece que estabas muerto con android:scrollbarStyle="insideOverlay", excepto que debido a algún error no funciona correctamente cuando se define en XML. Funciona bien si usas:

webView.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);

Irritante.

  • Ya que estamos en el tema, lo mismo se aplica al color de fondo de WebViews. Tienes que usar webView.setBackgroundColor(…) o en realidad no se aplicará.

    – Yaks

    29 de enero de 2011 a las 22:27

avatar de usuario
xujiyong

public void setVerticalScrollbarOverlay (boolean overlay)

Desde: API Nivel 1
Especifique si la barra de desplazamiento vertical tiene un estilo de superposición.
Parámetros
overlay TRUE si la barra de desplazamiento vertical debe tener un estilo de superposición.

¿Ha sido útil esta solución?