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