【问题标题】:Android WebView rendering with HTML使用 HTML 渲染的 Android WebView
【发布时间】:2012-12-04 05:37:50
【问题描述】:

当我在 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 时才会出现问题。没有它,没有渲染问题,但位置错误。

欢迎提出任何建议。

【问题讨论】:

    标签: android html css webview


    【解决方案1】:

    根据我的经验,对使用 DOM 的页面的 web 视图进行全面硬件加速目前会导致数百万个问题。我做了很多测试,试图找到一个可能的根本原因,但如果 Google / Chromium 不能自己工作,我们似乎无能为力。

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

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

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

    如果有人有更好的消息,请告诉! 干杯。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-16
      相关资源
      最近更新 更多