我们在开发中,显示信息详情时,一般后台会给出html文本,在android端一般采用webview控件来展示,但是后台给出的html文本一般是给电脑端用的,没有自适配手机,导致手机端图片显示过大,需要左右移动来查看全图。下面给出几种实用方法,达到在手机端用webview展示html中的图片,能自适应手机屏幕展示。
这是一种方式,还有二三中。
使用Jsoup查找img标签,替换图片的宽度和高度
实现步骤:
- 导入jsoup包
compile ‘org.jsoup:jsoup:1.10.2’
1 - 在代码中添加img标签替换函数
/**-
将html文本内容中包含img标签的图片,宽度变为屏幕宽度,高度根据宽度比例自适应
**/
public static String getNewContent(String htmltext){
try {
Document doc= Jsoup.parse(htmltext);
Elements elements=doc.getElementsByTag(“img”);
for (Element element : elements) {
element.attr(“width”,“100%”).attr(“height”,“auto”);
}return doc.toString();
} catch (Exception e) {
return htmltext;
}
}
-
- 在webview中加载内容时调用替换函数 调用上面的方法
Web.loadDataWithBaseURL(null, getNewContent(content), “text/html”, “utf-8”, null);