我有一个ViewPager。 ViewPager的每个页面都是ScrollView。 ScrollView包含一个WebView和其他几个视图。
在Android 2.3及更早版本上,一切正常,但在3.0+上有一个奇怪的渲染问题:
在ViewPager中向左/向右滚动时,还存在一个非常微妙的渲染问题(Android 4.0 Gmail应用中也存在此问题)。
答案 0 :(得分:14)
这可能与hardwareAcceleration有关。尝试专门关闭它。你可以这样做
1)清单中的应用程序标记(这将禁用整个应用程序中的硬件加速)
android:hardwareAccelerated="false"
或2)禁用代码中有问题的视图:
myView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
有关详细信息,并检查WebView或ListView是否正确处理硬件加速,请参阅this link
答案 1 :(得分:4)
我通过调用webView.requestLayout()
中的ScrollView.onScrollChanged()
来部分解决了这个问题。它现在几乎没问题,但滚动时,WebView
似乎与其他ScrollView
个孩子略微不同步。有时WebView
似乎比其他视图稍微缓慢滚动,稍后赶上它们。
答案 2 :(得分:2)
有同样的问题没有被接受的答案修复。最后,结果证明它与页面CSS中的position:fixed
有关。用position:absolute
替换这些实例似乎已经成功了。