WebView无法根据页面高度自适应缩放

3
我一直在使用WebView来加载不同的数据(HTML数据),一切都运行良好。但问题是,当我加载一个较小的页面时,WebView拒绝缩小。 WebView的高度设置为WRAP_CONTENT。
我尝试过很多方法,比如清除历史记录(也许历史记录中的某个页面会卡住它的大小),在每个页面更改之前将其高度设置为0,然后再次设置为WRAP_CONTENT,并尝试使用clearView()但这会完全破坏WebView。
无论如何,这是我的加载代码:
// Clearing the web view
mWebView.loadUrl("about:blank");
mWebView.loadData(mItem.getHtml(), "text/html", "utf-8");

谢谢!

1个回答

0

WebViews不会自动适应所显示的HTML内容,因为它们在Web视图内容加载之前已经通过布局。WebView的内容通常是动态的,因此像这样进行换行并没有意义。

如果您只是想使用HTML样式文本,则实际上可以使用TextView来完成这项工作。

mTextView.setText(Html.fromHtml(text));

我不能使用Html.fromHtml(),因为我还有图片和css,而WebView是最好的选择。无论如何,我怎样才能将内容包装起来呢?很有趣的是我加载了一个长达1000行的文本,然后又加载了一个只有100行的文本,用户必须滚动经过大片空白区域才能到达WebView下面的控件。还有其他的选项吗? - Elad92
我可以想到几种可能的方法。如果Webview下面的控件不是很大,您可以将它们保持在屏幕上,并使Webview部分可滚动。您还可以通过addJavascriptInterface()与一些自定义JavaScript交互,报告呈现页面的高度,然后相应地调整Webview的大小。 - BenTobin
我无法更改设计,必须将它们保持在网络视图下方。 我不太了解JavaScript,如果您可以为我写一个小示例,那就太好了! - Elad92

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接