我现在已经尝试了几天来获得一个解决方案,以便在加载webview时显示启动画面。
我环顾四周,有几种方法: - 制作活动只是为了显示启动画面,等待几秒钟然后开始webview活动 - >这不是解决方案,因为在关闭启动画面后再次完成所有加载
第二种方法是这样的:
myWebView = (WebView) findViewById(R.id.webview);
myWebView.getSettings().setJavaScriptEnabled(true);
myWebView.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
myWebView.setWebViewClient(new WebViewClient() {
public void onPageFinished(WebView view, String url) {
findViewById(R.id.webview).setVisibility(View.VISIBLE);
//hide loading image
findViewById(R.id.imageView1).setVisibility(View.GONE);
//show webview
}
});
这样可行,但在转换到webview时再次出现白屏。而且你也无法控制启动画面的时间。
我想做的第三个解决方案,但是(即使经过几天的搜索和尝试)也不知道如何 - >在一个线程中显示启动画面,在另一个线程中为webview准备一切,然后只需切换到webview。
我的问题是,有人能告诉我从第三个解决方案开始的地方吗?
任何建议,想法,指针?有没有办法显示启动画面,在另一个线程中准备(膨胀)webview,然后在加载url(以及其他所有内容)完成后切换到它?
感谢!!!
答案 0 :(得分:1)
尝试在Webview上使用WebChromeClient。在WebChromeClient中,您有一个方法onProgressChange。
当onProgressChange告诉您页面已完成加载时,您可以消失启动画面。
编辑: 例如,您可以使用HttpGet调用您的Url线程并检索响应。获得响应后,可以使用loadData(...)方法加载webview。