关于Android WebView显示html网页图片无法自适应(PS第一次写博客)

首先我是个菜鸟,第一次写博客,希望大家多多海涵。我希望可以写下来这些问题,以便在以后遇见这种问题时可以翻出来看看。

WebView控件是一个可以在自己的应用程序中嵌入一个浏览器,从而轻松的在控件中显示网页html内容。

不过在使用过程中还是遇到了问题,就是关于WebView 中图片如何适配屏幕。

总体来说有以下三种方法,

1.

参数拥有四种类型,

(1)、NORMAL 表示没有渲染更改。

(2)、NARROW_COLUMN 表示所有列不大于屏幕。

(3)、SINGLE_COLUMN 表示移动所有内容为webview等宽的一列。

(4)、TEXT_AUTOSIZING 我得理解是段落字体可以自由缩放。

2.设置加载进来的页面自适应手机屏幕 


        
第一个方法设置webview推荐使用的窗口,设置为true。第二个方法是设置webview加载的页面的模式,也设置为true。

这方法可以让你的页面适应手机屏幕的分辨率,完整的显示在屏幕上,可以放大缩小。不过此方法导致文字过于小,体验很差。

3.

使用jsoup进行的图片自适应。

首先要引入jsoup

gradle 使用compile group: 'org.jsoup', name: 'jsoup', version: '1.5.2'

通过给每个 img 加上属性 "style", "max-width:100%;height:auto;"

代码已封装好

public static String getHtmlContent(String html){
    Document doc_Dis = Jsoup.parse(html);
    Elements ele_Img = doc_Dis.getElementsByTag("img");
    if (ele_Img.size() != 0){
        for (Element e_Img : ele_Img) {
            e_Img.attr("style", "max-width:100%;height:auto;");
        }
    }
    return doc_Dis.toString();
}
直接使用上述函数即可。

你可能感兴趣的:(关于Android WebView显示html网页图片无法自适应(PS第一次写博客))