gpt4 book ai didi

android - 有没有办法在滚动时强制 WebView 更新其图片( View )?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:45:43 29 4
gpt4 key购买 nike

如果我在 WebView 上运行一些 javascript 而 WebView 正在滚动(用手指在屏幕上), View 不会更新为新外观直到手指离开设备并且滚动停止。

为了对此进行测试,我重写了 WebView 中的 onScroll 并调用了一些 javascript 将页面背景更改为随机颜色。当页面滚动时,它会被一遍又一遍地调用。因此它应该在您滚动时快速闪烁不同的颜色。

但是,在带 Gingerbread 的 Nexus S 和带 Ice Cream Sandwich 的 Galaxy Nexus 上,颜色仅在滚动停止时更新。

但在带有 Honeycomb 的 Xoom 上,颜色会在您滚动时不断更新。这是期望的结果。

对于其他设备上的不同之处以及如何强制 WebView 在滚动时像 Xoom 那样更新自身有什么想法吗?

谢谢!

更多信息: 请注意,javascript 在滚动过程中被接收和执行,但显示这些更改的图片直到滚动结束才会出现。例如,如果您调用的 javascript 是“console.log('rawr');”滚动时显示日志。

在源代码中发现了一些东西 有一个名为startDrag()WebView 方法那叫WebViewCore.pauseUpdatePicture(mWebViewCore)滚动时禁止更新图片。在 3.0 中,他们引入了 WebSetting setEnabledSmoothTransition()您可以在 4.0 代码中看到,它允许您禁用暂停。但是,这仅适用于 3.0 及更高版本,这意味着只有不到 3% 的可用设备。到目前为止,我还没有看到任何方法可以在 3.0 之前的设备中解决这个问题......:(

最佳答案

我相信当 android 2.x 版本被滚动时,为了让它更快,屏幕被变成位图并被滚动,而不是重新绘制可能在屏幕上的每个 View 。所以除非你覆盖它,否则颜色将停止绘制直到滚动停止

关于android - 有没有办法在滚动时强制 WebView 更新其图片( View )?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9186577/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com