如何在Android的Webview中显示本地图片

6

我希望在Android中的webview中显示一张本地图片,配合一些文字和其他内容。

例如,我有一个webview如下:

 WebView mWebView = (WebView) otherappView.findViewById(R.id.webView1);
 String summary =readRawTextFile(context, R.raw.abc);
 mWebView.loadData(summary, "text/html", null);

在abc.html文件中,图片的src标签应该写什么(????部分)?
 <img width="48" height="48" src="??????" class="attachment-48x48 wp-post-image" alt="" title="analogklasik48" />

附言:这个项目是一个库项目,所以我不想使用资产文件夹

附言:file:///android_res/drawable/image.png 不起作用

1个回答

1
如果您想要在drawable文件夹中放置一张图片,您需要将其转换为base64格式,然后将其放入html字符串中:
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.my_drawable);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, baos);
String base64Image = Base64.encodeToString(baos.toByteArray(), Base64.DEFAULT);
String imgHtml = "<img src=\"data:image/jpg;base64," + base64Image + "\"/>";

java.lang.NullPointerException: 试图在 null 对象引用上调用虚拟方法'boolean android.graphics.Bitmap.compress(android.graphics.Bitmap$CompressFormat, int, java.io.OutputStream)',请使用 try catch 重新审查您的代码并加入一些解释。 - Zhar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接