2010-12-02 3 views
2

J'utilise WebView pour montrer une image:Android: WebView n'échelle pas de grandes images

webview.setInitialScale(10); 
String myHTML = ("<html><head></head><body><img src=\"" + imgUri + "\"></body></html>"); 
webview.loadDataWithBaseURL("file:///android_asset/", myHTML, "text/html", "utf-8", ""); 

Le problème est que si les points imgUri à une image vraiment grande (eg.2000 x 3000 px) puis la réduction d'échelle ne fonctionne pas. Je pense que la limite est d'environ 30%, en dessous de la valeur initialScale, l'image reste à environ 30% de la taille. Par exemple, définir initialValue sur 10, 20 ou 30 produit une taille d'image similaire.

Existe-t-il un moyen d'utiliser WebView pour afficher une grande image réduite par exemple à 10%?

Pom

Répondre

0

Si vous devez, peut-être essayer Redimensionnement-end du navigateur d'une sorte via Javascript ou CSS (par exemple http://atomgiant.com/2006/05/30/resize-images-with-javascript/). Mais envoyer des images aussi volumineuses entraînera probablement une expérience utilisateur plutôt lente - si vous avez un contrôle sur le serveur Web concerné ou si vous utilisez un service qui fournit également des images dans des tailles échelonnées, essayez d'envoyer un plus petite version en premier lieu.

+0

Merci pour la réponse. Cependant, je reçois l'image de la galerie d'images du téléphone afin que le décalage réseau ne soit pas un problème. – Pompair