首先我是个菜鸟,第一次写博客,希望大家多多海涵。我希望可以写下来这些问题,以便在以后遇见这种问题时可以翻出来看看。
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(); } 直接使用上述函数即可。