【发布时间】:2014-03-14 08:31:48
【问题描述】:
我真正想要指定的是,这些方法在什么时候被准确调用?
Android documentation 在 WebView 类引用上,当页面完成加载和页面开始加载时调用它们。加载什么——加载请求还是渲染 html?
我需要在 html 下载足够时准确调用一个方法,该 android webview 将开始在屏幕上显示元素,文档中对这些方法的解释似乎有点混乱。
提前致谢, 寒冷的
【问题讨论】:
我真正想要指定的是,这些方法在什么时候被准确调用?
Android documentation 在 WebView 类引用上,当页面完成加载和页面开始加载时调用它们。加载什么——加载请求还是渲染 html?
我需要在 html 下载足够时准确调用一个方法,该 android webview 将开始在屏幕上显示元素,文档中对这些方法的解释似乎有点混乱。
提前致谢, 寒冷的
【问题讨论】:
这些方法在网络请求开始和结束时被调用。它们与准备显示或呈现的内容无关。
根据您的具体要求,您可以使用 PictureListener 回调[1] 让您知道 WebView 何时准备好一些内容。但是,如果您正在加载许多 URL,这可能会变得不稳定,因为不一定会为当前 URL 加载触发图片回调 - 您可能会在加载下一页期间收到旧页面的旧页面(例如,假设正在播放旧页面加载新页面时的动画,或类似的东西)。
另一种应该非常可靠地工作的替代方法是在您的 HTML 中播放一个简短的 CSS 动画,并在该动画完成时通过 JavaScript 接口 [2] 回调 Java。当您收到该回调时,WebView 应该正在呈现内容。
[1]http://developer.android.com/reference/android/webkit/WebView.html#setPictureListener(android.webkit.WebView.PictureListener) [2]http://developer.android.com/reference/android/webkit/WebView.html#addJavascriptInterface(java.lang.Object,java.lang.String)
【讨论】: