1. 程式人生 > >Android5.1以上webView中圖片顯示過大的解決方式

Android5.1以上webView中圖片顯示過大的解決方式

當我們使用webView時可能遇到適配問題,圖片過大以至於超出螢幕

1.
在android4.4以前是可以通過直接對webView.getSettings().setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN);來設定載入的內容適應螢幕的寬度的,

2.

但是在Android高版本中你會發現通過第一種方式來設定是沒有生效的,所以在高版本中推薦第二種方式,主要原理就是:通過解析Html頁面獲取圖片,把圖片按照螢幕縮放,再轉成Url給webView顯示就可以了。程式碼如下:

這個方法就是將圖片按比例縮放的方法。 原理就是解析HTML,獲取到圖片元素進行縮放“

// 高版本webView螢幕適配
private String getNewContent(String htmlText) {
    Document doc = Jsoup.parse(htmlText);
    Elements elements = doc.getElementsByTag("img");
    for (Element element : elements) {
        element.attr("width", "100%").attr("height", "auto");
    }
    return doc.toString();
}

1.上面的程式碼用到了一個jar包 :jsoup-1.8.3.jar 這個是專門用來解析HTML的,也可以用來抓取網頁資料,縮放比例可以自己根據需求調。