2010-09-23 3 views
25

In meiner App mache ich ein einfaches HTML-Hilfedokument. Ich wollte das Logo meiner App im HTML-Tag img, aber ich weiß nicht, wie ich auf das Logo verweisen würde, das in Assets gespeichert wird.Android-Entwicklung: Verwenden von Image aus Assets in einem WebView-HTML

Ist das möglich, wenn ja wie?

Danke für die Hilfe!

+0

@alexPriceXp ich das gleiche haben Problem, wie Sie ... werden Sie mir helfen .. Bilder in die Webview HTML. ??? – Siten

+0

@siten Am Ende habe ich HTML verschrottet und stattdessen beschlossen, die Widgets von Android zu verwenden, um das Hilfedokument für meine App zu erstellen, da ich immer noch keine Möglichkeit fand, im HTML-Ordner meiner App auf ein Bild zu verweisen. – AlexPriceAP

+0

Sie können versuchen, http://developerlife.com/tutorials/?p=369 und http://www.androidsnippets.org/snippets/33/ – pengwang

Antwort

46

Setzen Sie Ihr Logo in das Vermögen Verzeichnis zB: assets/logo.png

dann Ihre html laden mit:

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

Referenzieren Sie Ihre IMG wie:

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

es scheint wie 'loadDataWithBaseURL (" file: /// android_asset /, html, ... "' ist der Schlüssel, damit ein Bild angezeigt wird. Mit 'WebView.loadData (strHTML, "text/html", "utf-8"); 'wird kein Bild angezeigt, das sich in Assets befindet. –

5

Sie können Assets mit dieser URL-Syntax Referenz:

file:///android_asset/YourAssetFilename 
+0

Ich versuchte nur, dass aber es hat nicht funktioniert :( – AlexPriceAP

+0

I weiß, dass es funktioniert, weil ich es in einer meiner Anwendungen verwende Die Syntax funktioniert definitiv im Code, wie zum Beispiel: webView.loadUrl ("file: ///android_asset/blah.png") Und diese Seite zeigt an, dass es sollte funktionieren auch in HTML, siehe Abschnitt "Erstellen von HTML, das auf Ressourcen verweist, die in der APK-Datei selbst enthalten sind." http://developerlife.com/tutorials/?p=369 –

+1

Dies funktioniert nicht für mich, wenn ich Ressourcen aus der Ich versuche nicht, eine Datei im Code zu laden, sondern von html. – BradLaney

6

Dump sie in Vermögenswerte Ordner und nur in den HTML-Code setzen

<img src="filename.png"> 

einfach ist das

+0

das ist Arbeit !!! Natürlich sollten Sie auch Ihren html in den Ordner "Assets" stellen. –

17

Speichern Sie die Bilder in Assets Ordner:

enter image description here

Lesen Sie das Bild in den HTML-Code aus Assets mit file:///android_asset/

zum Beispiel:

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

Last innerhalb der WebView:

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

funktioniert nicht für mich. – Sandeep

+0

warum funktioniert nicht für dich könnte ich dir helfen? – Jorgesys

+0

Das Bild wird nicht angezeigt, wenn verwendet wird. Ich musste @spatialist Lösung verwenden, die die Verwendung von webView.loadDataWithBaseURL ("file: /// android_asset /", htmlData, "text/html", "utf-8", null); – Sandeep

1

Setzen Sie Ihr Logo in das Vermögen Verzeichnis Beispiel: assets/logo.png

Dann

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

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