如何在安卓中改变webview内容的大小?

7

我在一个滚动视图中使用了一个webview控件。当我将一个较长的HTML文档加载到其中时,它会自适应调整大小,这是正确的。但是,当我再次使用同样的控件并将占用空间较少的HTML放入其中时,内容大小不会缩小。这是一个问题,因为用户仍然可以将短文档滚动到白色空间中。有没有什么解决方法?


你找到解决方案了吗 :( - A. Albrg
2个回答

14

我曾经遇到过类似的问题,通过在重新加载视图之前清除视图并使用较小的尺寸重新测量,最终解决了它。

例如:

  webView.clearView();
  webView.measure(10, 10);

谢谢,问题已解决,但我无法接受你的解决方案,按钮消失了 :( - ZZZ
1
这导致在运行2.3.5的HTC Desire S上,滚动条出现故障。 - Jarrod Smith
1
这个解决方案在我的三星Galaxy S3上运行Android 4.1.1时对我无效。 - John Weidner
1
这个解决方案在我的运行Android 4.0.3的HTC G20上对我不起作用。 - Xianfeng.Cai
这个解决方案在我的Nexus 7上运行Android 4.3时对我无效。 - dumazy

4

当我使用以下内容时,这并没有对我起作用:

loadDataWithBaseURL(String baseUrl, String data, String mimeType, String encoding, String historyUrl)

但是,在加载数据后在webview上调用requestLayout()可以解决问题,除了一个奇怪的故障,即在滚动时更改视图会导致滚动条闪烁。
webView.clearView();
webView.loadDataWithBaseURL(null, data, "text/html", "utf-8", null);
webView.requestLayout();

你,先生,救了我的命。向你致敬! - Bryan

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