2010-09-23 4 views
25

Dans mon application, je crée un document d'aide HTML de base. Je voulais le logo de mon application dans le tag HTML img même, mais je ne sais pas comment je ferais référence au logo qui sera stocké dans les actifs.Développement Android: Utilisation d'images à partir d'éléments dans le HTML d'un WebView

Est-ce possible, si oui, comment?

Merci pour l'aide!

+0

@alexPriceXp j'ai le même problème que vous ... voulez-vous m'aider .. pour mettre des images dans le webview html. – Siten

+0

@siten J'ai finalement abandonné HTML et j'ai décidé d'utiliser les widgets d'Android pour créer le document d'aide pour mon application car je n'arrivais toujours pas à trouver une image dans le dossier des ressources de mon application en HTML. – AlexPriceAP

+0

vous pouvez essayer http://developerlife.com/tutorials/?p=369 et http://www.androidsnippets.org/snippets/33/ – pengwang

Répondre

46

votre logo dans le répertoire actif, par exemple: actifs/logo.png

Chargez ensuite votre code html avec:

webView.loadDataWithBaseURL("file:///android_asset/", htmlData, "text/html", "utf-8", null); 

Référence votre img comme:

<img src="logo.png"> 
+0

il semble que 'loadDataWithBaseURL (" file: /// android_asset /, html, ... "' est la clé pour l'obtenir pour montrer une image. L'utilisation de 'WebView.loadData (strHTML," text/html "," utf-8 ");' n'affiche pas une image résidant dans les ressources. –

5

Vous pouvez référencer des actifs avec cette syntaxe URL:

file:///android_asset/YourAssetFilename 
+0

Je viens d'essayer, mais cela n'a pas fonctionné :( – AlexPriceAP

+0

I Sachez que cela fonctionne parce que je l'utilise dans une de mes applications.La syntaxe fonctionne certainement dans le code, tels que: webView.loadUrl ("file: ///android_asset/blah.png") Et ce site indique qu'il devrait fonctionne également en HTML, voir la section sur la "Création de HTML qui référence les ressources incluses dans le fichier APK lui-même." http://developerlife.com/tutorials/?p=369 –

+1

Cela ne fonctionne pas pour moi quand on inclut des ressources à l'intérieur du fichier APK. Je ne cherche pas à charger un fichier dans le code mais à partir du code HTML – BradLaney

6

les jeter dans le dossier de l'actif et vient de mettre en html

<img src="filename.png"> 

simple que

+0

c'est du travail !!! de cource vous devriez mettre votre HTML dans le dossier des actifs, aussi. –

17

stocker les images dans le dossier actif:

enter image description here

lire l'image dans le code HTML actifs avec file:///android_asset/

par exemple:

String sHtmlTemplate = "<html><head></head><body><img src=\"file:///android_asset/img/mybadge.png\"></body></html>"; 

charge à l'intérieur du WebView:

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

ne fonctionne pas pour moi. – Sandeep

+0

pourquoi ne travaille pas pour vous pourrais-je vous aider? – Jorgesys

+0

L'image n'apparaît pas lors de l'utilisation de . J'ai dû utiliser la solution @spatialist qui implique l'utilisation de webView.loadDataWithBaseURL ("fichier: /// android_asset /", htmlData, "text/html", "utf-8", null); – Sandeep

1

votre logo dans le répertoire actif Exemple: actifs/logo.png

Puis

String imgData="<img src=home.png>"; 

webView.loadDataWithBaseURL("file:///android_asset/", imgData, "text/html", "utf-8", null); 
Questions connexes