【发布时间】:2013-03-10 21:32:09
【问题描述】:
问题的详细解释可以从this question了解,因为用户添加了图像以更好地解释它。
我正在我的 WebView 中加载 Html 内容。我的布局有很多视图,WebView 放置在 ScrollView 内(根据布局要求)。请不要回答为 - "Don't put WebView inside ScrollView"。我知道将 WebView 放在 ScrollView 中并不是一件好事,但根据要求我需要这样做。
所以,我有左片段(显示列表项)和右片段(显示从左片段选择列表项时反映的数据)。现在,首先,当我在 WebV 中加载 Html 内容时,它显示正确。之后,当我用新的 Html 内容刷新 WebView 时,就会出现问题。
假设,我的第一个 Html 内容有 100 行,它正确显示,然后我用新的 40 行的 Html 内容重新加载 WebView,然后 WebView 没有缩小并适合 40 行的内容,它仍然保持为长达 100 行,在底部显示白色/空白区域。
因此,WebView 似乎能够从先前加载的较少内容重新调整自身大小,但在内容少于先前加载的内容时无法重新调整自身大小。
我尝试了很多方法,
- 在清单中添加
android:hardwareAccelerated="true" - This Blog
- 还有许多其他方式和博客
- 此外,我曾尝试使用
mWebView.clearView();,这会导致重新调整 WebView 的大小,但有时 WebView 会开始闪烁,这很烦人。类似于this video
但是,找不到任何合适的解决方案。如果你们中的任何人之前有同样的问题,请告诉我我可以应用的最佳解决方案。
更新 -
在进一步谷歌搜索后,这似乎是 Honeycomb 中的一个众所周知的问题。 This question 也表示类似的问题。
【问题讨论】:
-
您一定尝试过,但我只是想确认一下,您是否尝试在 webView 上调用无效。另一件事是你是否将scrollView的fillViewPort属性设置为true。
-
@N-JOY 是的,我曾尝试调用 mWebView.invalidate() 并且我曾尝试将 fillViewPort 用于 ScrollView,但仍然没有成功。
标签: android performance android-layout webview android-widget