web-dev-qa-db-fra.com

Android ajouter une image à une vue Web à partir d'un dessinable

Je voudrais quelque chose:

s="
<body>

<img src='"+R.drawable.picture+"'>

</body>";

Comment puis-je faire ceci?

24
lacas

Vous ne pouvez le faire si notre image se trouve dans votre dossier /assets. En outre, vous devez charger votre code HTML avec un objet baseUrl se trouvant dans votre dossier d’actifs.

Vous pouvez utiliser WebView.loadUrl() ou WebView.loadDataWithBaseURL():

webView.loadUrl ("fichier: ///Android_asset/file.html");

ou

webView.loadDataWithBaseURL("file:///Android_asset/", "<img src='file.jpg' />", "text/html", "utf-8", null);

(file.jpg devrait être dans votre dossier assets)

46
Jonas Alves

Après quelques expériences, j'ai constaté que le code HTML suivant fonctionnait sous Android 2.3.1 (mais pas avec les versions antérieures):

<img src="file:///Android_res/drawable/example.png"/>

La partie vraiment intéressante est que le fichier image se trouvait réellement dans le répertoire drawable-hdpi mais le gestionnaire de ressources fournit l'image dans le répertoire standard drawable.

43

Essaye ça: 

 web_object.loadDataWithBaseURL("file:///Android_res/drawable/", "<img src='test.jpg' />", "text/html", "utf-8", null);

pas besoin de créer un fichier HTML séparé

5
Pranav

Définir la largeur de l'image à 100%. 

wv.loadDataWithBaseURL("file:///Android_res/drawable/", "<img src='"+ url + "' style='width:100%' />", "text/html", "utf-8", null); 
    wv.getSettings().setBuiltInZoomControls(true);
    wv.getSettings().setDisplayZoomControls(false);
0