Android:预加载网页,然后显示全屏

时间:2011-02-15 01:13:40

标签: android html webview

对于我的Android应用,我想在后台加载完整的网页,然后在准备就绪时以全屏视图显示。换句话说,我希望显示一个完全加载的网页,而无需用户坐在“加载”屏幕上。此外,我想等待一段任意时间,而不是只是在加载后立即显示页面。

似乎展示全屏网页视图的唯一方法是使用新的活动,但如何将网页内容传递给新活动?我尝试在隐藏的webview上调用 WebView.savePicture(),然后将结果传递给一个新的Activity,但似乎它不会保存图片,除非它实际上是可见的。

思想?

2 个答案:

答案 0 :(得分:2)

您可以创建一个webview,使其不可见或使其成为ViewFlipper的一个视图,并在其中加载所需的URL。为您的webview实现WebViewClient的onPageFinished。收到回调(onPageFinished)后,等待一段任意时间(如果你愿意)并使你的webview可见或翻转到它并重新加载URL。重新加载很重要,因为页面可能有一些javascript用于redering网页的某些部分,如果webview不可见,那么它将不会被执行。首次加载将确保缓存所有必需的资源,因此第二次加载将是即时的。

答案 1 :(得分:1)

  

似乎展示全屏网页视图的唯一方法是使用新的活动,但如何将网页内容传递给新活动?

在一项活动中完成:

第1步:让你的WebView拥有android:visibility="gone"并拥有其他内容(无论你想在“任意时间”内向用户展示什么),都可以看到。

步骤2:让WebView“加载完整的网页”,但不可见。

步骤3:当页面加载时,或者当您的“任意时间”过去时,让您展示的任何内容都具有GONE的可见性并让WebView返回{{1} }}