android WebView加载html 处理的图片过宽的工具类 (过宽的控制到100%,正常尺寸的不放大)

本文介绍了一个利用JSoup实现的工具类,该工具类主要用于处理HTML中的图片元素,确保图片能根据设备屏幕大小自动调整尺寸。文章提供了两个主要方法:getNewContent用于设置图片的最大宽度为100%,并保持原有高度不变;getFinalContent则是在HTML头部加入样式,以适应不同设备的显示需求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考 博客: 小曾同志的专栏: https://blog.csdn.net/u010023795/article/details/53509495
工具类

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

public class WebContentFormatUtil {

    private static String sHead = "<html><head><meta name=\"viewport\" content=\"width=device-width, " +
            "initial-scale=1.0, minimum-scale=0.5, maximum-scale=2.0, user-scalable=yes\" />" +
            "<style>img{max-width:100% !important;height:auto !important;}</style>"
            + "<style>body{max-width:100% !important;}</style>" + "</head><body>";

    /**
     * 图宽度都控制到 100% 小图标会被放到超级大
     */
    public static String getNewContent(String htmltext) {
        try {
            Document doc = Jsoup.parse(htmltext);
            Elements elements = doc.getElementsByTag("img");
            for (Element element : elements) {
                element.attr("max-width", "100%")
                        .attr("width", "100%")
                        .attr("height", "auto")
                        .attr("style", "");
            }
            return doc.toString();
        } catch (Exception e) {
            return htmltext;
        }
    }

    /**
     * 图片自动适应 过宽缩到100%,正常的不放大
     */
    public static String getFinalContent(String htmltext) {
        return sHead + htmltext + "</body></html>";
    }

}

使用方式:

//用jquery对返回的html进行处理
detailInform.loadDataWithBaseURL(null, getFinalContent(DetailInfo), “text/html”, “utf-8”, null);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值