2010-10-22 14 views
61

En mi WebView, tengo algunos elementos de bloque que tienen un color de fondo (diferente de blanco). Sin embargo, el color de fondo no va en todo el cielo .. um, pantalla. En cambio, deja una pequeña tira blanca a la derecha, donde iría la barra de desplazamiento. Ahora, quiero que las barras de desplazamiento aparezcan solo cuando se desplaza (y se desvanecen una vez que el usuario ha terminado de desplazarse). Probé:Android WebView deja espacio para la barra de desplazamiento

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" /> 

Así que no permite el zoom y no alejar la imagen por defecto.

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

+1

Una solución obvia (pero mala) es envolver el 'WebView' en un' ScrollView' y establecer 'scrollbarStyle =" insideOverlay "' en eso. – Felix

+0

Además, mi solución actual es 'android: scrollbars =" none "' que oculta de forma permanente las barras de desplazamiento (y también el área blanca). Esto no es óptimo, sin embargo. – Felix

Respuesta

116

Combaté este también. Encontré la respuesta here.

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

webView.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY); 

Molesto.

+0

Hmm, interesante. Intentaremos esto y marcaremos como aceptado en consecuencia. – Felix

+2

Mientras hablamos del tema, lo mismo ocurre con el color de fondo de WebViews. Tienes que usar webView.setBackgroundColor (...) o no se aplicará realmente. – Yaks

2
public void setVerticalScrollbarOverlay (boolean overlay) 

desde: Nivel 1 del API
Especificar si la barra de desplazamiento vertical tiene el estilo de superposición.
Parámetros
superposición TRUE si la barra de desplazamiento vertical debe tener un estilo de superposición.

Cuestiones relacionadas