2010-12-14 4 views
7

J'ai un contrôle webview dans un scrollview. quand je charge un long document html dedans, il redimensionne pour l'accommoder. c'est correct. cependant, lorsque j'utilise à nouveau le même contrôle et que j'y mets moins de html, la taille du contenu ne diminue pas. C'est un problème car l'utilisateur peut toujours faire défiler un document court dans un espace blanc. des idées sur la façon de résoudre cela?Comment changer la taille du contenu d'un webview dans Android?

Répondre

13

J'ai eu un problème similaire et l'ai résolu en effaçant la vue et en mesurant de nouveau avec une petite taille avant de recharger la vue.

par exemple.

webView.clearView(); 
    webView.measure(10, 10); 
+0

Merci, le problème est résolu, mais je ne peux pas accepter votre solution, bouton a disparu :( – ZZZ

+1

Il en résulte une scrollbar glitching pour moi sur un HTC Desire S sur l'exécution 2.3.5. –

+1

Cette solution ne fonctionne pas pour moi sur mon Samsung Galaxy S3 fonctionnant sous Android 4.1.1 – John

4

Cela n'a pas fonctionné pour moi lors de l'utilisation:

loadDataWithBaseURL(String baseUrl, String data, String mimeType, String encoding, String historyUrl) 

Mais appeler requestLayout() sur le WebView après le chargement des données travaillé, sauf pour un petit problème étrange avec la barre de défilement vacillante si le changement de la vue en faisant défiler.

webView.clearView(); 
webView.loadDataWithBaseURL(null, data, "text/html", "utf-8", null); 
webView.requestLayout(); 
+0

vous, monsieur, sauvé ma vie. * chapeaux au large * – Bryan

+0

sauvé ma vie tu as fait ma journée –

Questions connexes