使用文本自动调整大小在WebView中调整所有图像的大小

时间:2015-06-01 23:27:16

标签: image webview resize width

我将webview设置为:

WebView wv = (WebView) findViewById(R.id.display_post_activity_content);
        wv.getSettings().setLoadWithOverviewMode(true);
        wv.getSettings().setUseWideViewPort(true);
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
            wv.getSettings().setLayoutAlgorithm(WebSettings.LayoutAlgorithm.TEXT_AUTOSIZING);
        } else {
            wv.getSettings().setLayoutAlgorithm(WebSettings.LayoutAlgorithm.NORMAL);
        }
wv.loadDataWithBaseURL("", content, "text/html", "UTF-8", "");

content是静态HTML,带有一些内联CSS。没有JavaScript。 这在文本包装方面做得很好。它还调整较大的图像大小以适应屏幕宽度。

但是,有些内联图像小于设备宽度。文字包围了这些。

我希望它将所有图像(甚至是小图像)调整为宽度(保持纵横比)。是否可以使用WebView实现? 我可以使用Html.fromHtml()ImageGetter执行此操作,但使用WebView的效果会更好。

1 个答案:

答案 0 :(得分:0)

好的,所以我自己解决了这个问题:

// Content to be rendered
content = "<p>Some Html </p> with <img></img> tags";

// Set width and height
content = content.replace("<img", "<img height=\"auto\" width=\"100%\" ");

// Render
wv.loadDataWithBaseURL("", content, "text/html", "UTF-8", "");

和Voila,全宽图像保留了Aspect Ratios!