[英]Android: splash screen and webview
我已经尝试了好几天了,以获取在加载Web视图时显示启动屏幕的解决方案。
我环顾四周,有几种方法:-使活动仅显示初始屏幕,等待几秒钟,然后启动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时,再次出现了白色的屏幕。 而且,您也无法控制启动屏幕的时间。
第三种解决方案是我想做的,但是(即使经过几天的搜索和尝试)也不知道如何->在一个线程中显示启动画面,在另一个线程中准备Web视图的所有内容,然后简单地切换到WebView 。
我的问题是,有人可以告诉我从第三个解决方案开始吗?
有什么建议,想法,指针吗? 有没有一种方法可以显示启动画面,在另一个线程中准备(充气)webview,然后在加载URL(以及其他所有操作)之后切换到它?
谢谢!!!
尝试在Webview上使用WebChromeClient。 在WebChromeClient中,您有一个onProgressChange方法。
当onProgressChange告诉您页面已完成加载时,您可以消失启动屏幕。
编辑:例如,您可以使用HttpGet在线程中调用您的URL并检索响应。 收到响应后,可以使用loadData(...)方法加载Web视图。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.