ViewPager或ScrollView中的WebView - Android 3.0+上的奇怪渲染错误

fhu*_*cho 8 android webview hardware-acceleration android-3.0-honeycomb android-4.0-ice-cream-sandwich

我有一个ViewPager.ViewPager的每个页面都是ScrollView.ScrollView包含WebView和其他几个视图.

在Android 2.3及更早版本上,一切正常,但在3.0+上有一个奇怪的渲染问题:

WebView应该从照片下方开始

在ViewPager中向左/向右滚动时,还会出现非常微妙的渲染问题(Android 4.0 Gmail应用程序中也存在此问题).

Ent*_*eco 14

这可能与hardwareAcceleration有关.尝试专门关闭它.你可以这样做

1)清单中的应用程序标记(这将禁用整个应用程序中的硬件加速)

android:hardwareAccelerated="false"
Run Code Online (Sandbox Code Playgroud)

或2)禁用代码中有问题的视图:

myView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
Run Code Online (Sandbox Code Playgroud)

有关更多信息,以及检查WebView或ListView是否正确处理硬件加速,请参阅此链接


fhu*_*cho 4

我通过调用部分解决了这个webView.requestLayout()问题ScrollView.onScrollChanged()。现在几乎可以了,但是当滚动时,似乎与其他孩子WebView稍微不同步。ScrollView有时,WebView滚动似乎比其他视图稍微慢一些,稍后就会赶上它们。

  • 让客户相信这不是一个错误,而是一种高级图形效果,需要很长时间才能开发:) (2认同)