2010-10-22 9 views
61

Dans mon WebView, certains éléments de bloc ont une couleur d'arrière-plan (différente du blanc). Cependant, la couleur de fond ne va pas tout le chemin à travers le ciel .. um, écran. Au lieu de cela, il laisse une petite bande blanche vers la droite, à l'endroit où irait la barre de défilement. Maintenant, je veux que les barres de défilement n'apparaissent que lors du défilement (et disparaissent une fois que l'utilisateur a fini de défiler). J'ai essayé:Android WebView laisse de l'espace pour la barre de défilement

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

En outre, mon code HTML contient les éléments suivants dans <head>:

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

Pour que cela ne permet pas de zoomer et ne zoom pas par défaut.

Cependant, je ne peux pas comprendre comment se débarrasser de la bande blanche. Des idées?

+1

Une solution évidente (mais mauvaise) est d'envelopper le 'WebView' dans un' ScrollView' et de définir 'scrollbarStyle =" insideOverlay "' sur cela. – Felix

+0

Aussi, ma solution actuelle est 'android: scrollbars =" none "' qui cache en permanence les barres de défilement (et aussi la zone blanche). Ce n'est pas optimal, cependant. – Felix

Répondre

116

Lutté contre celui-ci aussi. Trouvé la réponse here.

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

webView.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY); 

Annoying.

+0

Hmm, intéressant. Va essayer et marquer comme accepté en conséquence. – Felix

+2

Alors que nous sommes sur le sujet, la même chose est vraie de la couleur d'arrière-plan pour WebViews. Vous devez utiliser webView.setBackgroundColor (...) sinon il ne s'appliquera pas réellement. – Yaks

2
public void setVerticalScrollbarOverlay (boolean overlay) 

depuis: API Niveau 1
Indiquez si la barre de défilement vertical a un style de superposition.
Paramètres
superposition TRUE si la barre de défilement verticale doit avoir un style de surimpression.

Questions connexes