将动画设置为简单View
时,我遇到渲染问题。我的设置为ViewPager
,第一个Fragment
包含WebView
,第二个Fragment
包含我自定义的自定义进度指示器。
下面的图片显示了问题,不知何故与WebView
有关系,尽管指标完全在其自己的Fragment
中。我的猜测是该平台使用相同的GPU渲染器,当有WebView
时,它会被破坏。
任何人都有同样的问题/找到了解决方法吗?
感谢。
答案 0 :(得分:0)
我的猜测有点正确。我找到了解决这个问题的黑客。
WebView
并覆盖所有构造函数WebView
API级别> = 11
setLayerType(LAYER_TYPE_SOFTWARE, null);
API级别< 11
try {
Method setLayerType = getClass().getMethod("setLayerType",
new Class[] { int.class, Paint.class });
if (setLayerType != null)
setLayerType.invoke(this, new Object[] { 1, null });
} catch (NoSuchMethodException e) {
} catch (IllegalArgumentException e) {
} catch (IllegalAccessException e) {
} catch (InvocationTargetException e) {
}
注意:此实施会显着影响WebView
的效果。
答案 1 :(得分:0)
看看这个,
https://developer.android.com/guide/webapps/migrating.html
在KitKat中,一切都发生了很大变化。
为什么不尝试将目标SDK设置为18.如果执行此操作,则webview将以兼容模式运行。