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

    xiaoxiao2021-03-25  57

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

    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(); } 直接使用上述函数即可。

    转载请注明原文地址: https://ju.6miu.com/read-36327.html

    最新回复(0)