web-dev-qa-db-fra.com

Android WebView laisse de l'espace pour la barre de défilement

Dans mon WebView, j'ai quelques éléments de bloc qui ont une couleur d'arrière-plan (différente du blanc). Cependant, la couleur d'arrière-plan ne va pas à travers le ciel .. euh, écran. Au lieu de cela, il laisse une petite bande blanche à droite, pour savoir où irait la barre de défilement. Maintenant, je veux que les barres de défilement apparaissent uniquement lors du défilement (et disparaissent une fois que l'utilisateur a terminé le défilement). J'ai essayé:

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

De plus, mon code HTML contient les éléments suivants dans <head>:

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

Pour qu'il ne permette pas le zoom et ne fasse pas de zoom arrière par défaut.

Cependant, je ne sais pas comment me débarrasser de la bande blanche. Des idées?

61
Felix

A également combattu celui-ci. Trouvé la réponse ici .

On dirait que tu étais mort avec Android:scrollbarStyle="insideOverlay", sauf qu'en raison d'un bogue, il ne fonctionne pas correctement lorsqu'il est défini en XML. Cela fonctionne bien si vous utilisez:

webView.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);

Énervant.

116
Yaks
public void setVerticalScrollbarOverlay (boolean overlay)

Depuis: API niveau 1
Spécifiez si la barre de défilement verticale a un style de superposition.
Paramètres
superposition TRUE si la barre de défilement verticale doit avoir un style de superposition.

2
xujiyong