Android:闪屏和网络视图
我已经尝试了好几天了,想找到一个在加载webview时显示初始屏幕的解决方案 我环顾四周,有几种方法: -使活动仅显示初始屏幕,等待几秒钟,然后启动webview活动->这不是一个解决方案,因为所有加载在初始屏幕关闭后再次完成Android:闪屏和网络视图,android,multithreading,webview,screen,splash-screen,Android,Multithreading,Webview,Screen,Splash Screen,我已经尝试了好几天了,想找到一个在加载webview时显示初始屏幕的解决方案 我环顾四周,有几种方法: -使活动仅显示初始屏幕,等待几秒钟,然后启动webview活动->这不是一个解决方案,因为所有加载在初始屏幕关闭后再次完成 第二种方法是这样的: myWebView = (WebView) findViewById(R.id.webview); myWebView.getSettings().setJavaScriptEnabled(true); myWebView.setScroll
- 第二种方法是这样的:
这是可行的,但在过渡到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上使用WebChromeClient。在WebChromeClient中,您有一个方法onProgressChange 当onProgressChange告诉您页面已完成加载时,您可以取消启动屏幕 编辑:
例如,您可以使用HttpGet在一个线程中调用Url并检索响应。收到响应后,可以使用loadData(…)方法加载webview。尝试在webview上使用WebChromeClient。在WebChromeClient中,您有一个方法onProgressChange 当onProgressChange告诉您页面已完成加载时,您可以取消启动屏幕 编辑:
例如,您可以使用HttpGet在一个线程中调用Url并检索响应。收到响应后,您可以使用loadData(…)方法加载webview。感谢您的回答,但正如我所说的,我希望使用第三种解决方案,在后台使用线程加载webview。我想知道这是否可能,以及如何做到。我知道你的建议已经足够了,但我真的想知道如何用另一种方法做到这一点……例如,你可以用HttpGet调用你的Url并检索响应。收到响应后,可以使用loadData(…)方法加载webview。感谢您的回答,但正如我所说的,我希望使用第三种解决方案,在后台使用线程加载webview。我想知道这是否可能,以及如何做到。我知道你的建议已经足够了,但我真的想知道如何用另一种方法做到这一点……例如,你可以用HttpGet调用你的Url并检索响应。得到响应后,可以使用loadData(…)方法加载webview。