使用HTML进行Android WebView渲染

时间:2012-12-04 05:37:50

标签: android html css webview

当我在webview上显示和隐藏时,它总是在屏幕上保留片段我触摸屏幕。     例如,当点击一个按钮,显示一个div,然而,div没有完全显示,它只显示一半,如果我触摸屏幕,左边部分显示。然后,当点击按钮让这个div隐藏,它不完全隐藏,它只隐藏部分,剩下部分在屏幕上,直到我触摸屏幕,左边部分消失。

1. I use jquery show() and hide() method to show and hide the div
2. I have enabled hardware accelerate
3. I have set webview render priority as HIGH.

would you please give me some suggestions, thank you.

实际上,这是来自link的帖子,我刚遇到同样的问题。

在我的项目中,我得到了一个div,包括两个按钮。在某些情况下,我还必须显示/隐藏div。更具体地说,固定定位用于将浏览器底部的div固定为页脚。这是div的css。

[id^="btns_div"]{
position: fixed;
bottom: 5px;
left: 10px;
z-index: 3;
background-color:#eeeeff;
width: 90%;
height: 10%;
font-size:20px;
display: none;
}

我尝试了许多尝试避免此渲染问题的不同机制。我只是发现问题只发生在分配css:bottom时。没有它,没有渲染问题,但错误的位置。

任何建议都表示赞赏。

1 个答案:

答案 0 :(得分:2)

根据我的经验,在webview上进行全硬件加速,与DOM一起玩的页面会导致数百万问题。我已经做了很多测试,试图找到可能的根本原因,但看起来如果Google / Chromium不起作用,我们就无能为力。

HArdware加速会导致使用“显示列表”以完全不同的方式呈现屏幕。作为一个非常便宜的简历,这种技术有数千个好处,但不是很擅长检测非预期的更新,因此用户必须牢记这一点,并使渲染“无效”。

这对于Java应用程序非常有用,因为您正在编写操作的正确位置,但是当您插入webview时,事情开始变得复杂。请谷歌显示列表以获得扩展说明,理解这些事情发生的原因真的很值得。

因此,根据我的经验,我必须始终禁用webview的硬加速。我时不时地尝试新的Android版本和所有,但情况根本没有改善。

如果有人有更好的消息,请告诉我! 欢呼声。