【BUG系列】Android WebView加载Html代码不适配,加载长图中间有空白的问题
1.WebView加载Html文本的正确方式
webView.loadData(html, "text/html; charset=utf-8", "utf-8");
2.但是如果文本中带图片的话就会遇到适配问题该如何解决呢?
public static String getNewContent(String htmltext){
Document doc= Jsoup.parse(htmltext);
Elements elements=doc.getElementsByTag("img");
for (Element element : elements) {
element.attr("width","100%").attr("height","auto");
}
return doc.toString();
}
//通过DOM方式遍历,拿到img标签,让宽度是100%,高度自适应就能解决图片不能自适应的问题了
//这个还得加一个Jsoup的包
3.这不是最好的解决方案,因为图片中可能有空白的地方怎么解决呢?看下方的代码
String head = "<head>" +
"<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=no\"> " +
"<style>*{margin:0;padding:0;}img{max-width: 100%; width:auto; height:auto;}</style>" +
"</head>";
return "<html>" + head + "<body>" + bodyHTML + "</body></html>";
// *{margin:0;padding:0} 这个是关键解决空白问题的代码,完美解决所有问题,是不是很简单
// 如果加上 *{margin:0;padding:0} 网页显示不出来了,可将其删除试试
- 感谢你赐予我前进的力量
赞赏者名单
因为你们的支持让我意识到写文章的价值🙏
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 时光·李记
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果