我有一个webview,其中我从Web服务加载内容(新闻)。
唯一的问题是,我在这个内容中的图片有这样的src:
<img src='images/myimage.png'>
当然,在我的网页浏览中,我无法显示此图片。
那么,我怎样才能更新我所有图像的src? (添加正确的网址以显示它)
我正在加载我的内容:
String htmlNews = "<html><head><link rel=\"stylesheet\" type=\"text/css\" href=\"style.css\" />" + htmlContent;
webview.loadDataWithBaseURL("file:///android_asset/", htmlNews, "text/html", "UTF-8", null);
答案 0 :(得分:0)
将图片放入资源目录eg: assets/img.png
然后使用以下命令加载html:
webView.loadDataWithBaseURL("file:///android_asset/", htmlData, "text/html", "utf-8", null);
引用你的img:
<img src="img.png">
您也可以尝试
String data = "<body>" + "<img src=\"large_image.png\"/></body>";
W ebView.loadDataWithBaseURL("file:///android_asset/",data , "text/html", "utf-8",null);
答案 1 :(得分:0)
在Webview中加载Html文件并将您的图像放入资源文件夹并使用Html读取该图像文件。
<html>
<table>
<tr>
<td>
<img src="abc.gif" width="50px" alt="Hello">
</td>
</tr>
</table>
</html>
现在在Webview中加载该Html文件
webview.loadUrl("file:///android_asset/abc.html");
答案 2 :(得分:0)
解析你的html代码:
String web = "<img src='images/myimage.png'>";
String replace = "src='";
String replaceWith = "src='http://example.com/";
String webParsed = web.replace(replace, replaceWith);
System.out.println(webParsed);
其中http://example.com/应该是您要添加到src标记的前缀。
答案 3 :(得分:0)
我拿起@deveLost's comment,为了得到更多的关注,把它留在这里。
有一个<base>
tag定义了基本URL,您不必拦截以/或相对于路径开头的任何内容,HTML客户端将自动在
val yourBaseUrl: String = ...
val originalContent: String = ...
val fixedContent = "<base href='$yourBaseUrl'>$originalContent"
webView.loadData(fixedContent, "text/html", "UTF-8")