我将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
的效果会更好。
答案 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!