在启动画面完成之前加载WebView URL [英] Loading a WebView URL before splashscreen finishes

查看:705
本文介绍了在启动画面完成之前加载WebView URL的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我按照本教程 https://www.youtube.com/watch?v = QD9nhyWX-gs 制作一个动画的闪屏,这只是我的徽标做360˚旋转,文本和旋转后的背景下它打开webview,显示google.com.au但它有白色背景虽然它加载网页,我需要它预先在启动画面中加载网页,并保持动画重复,直到它加载的网站,代码相当简单,它只是一个旋转的imageview。

I followed this tutorial https://www.youtube.com/watch?v=QD9nhyWX-gs to make an animated splashscreen which is just my logo doing one 360˚ spin which text and a background below it after the spin it opens a webview which displays google.com.au but it has that white background while it loads the webpage and i need it to load the webpage beforehand in the splashscreen and keep the animation repeating till the website it loaded, the code is fairly simple its just a rotating imageview.

刚试过:

public class WelcomeActivity extends Activity {
WebView web;
ImageView imageView;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_welcome);

    web = (WebView) findViewById(R.id.webView);

    web.setWebViewClient(new myWebClient());
    web.getSettings().setJavaScriptEnabled(true);
    web.loadUrl("http://www.voxelservers.net");
    imageView = (ImageView) findViewById(R.id.imageView);
}

public class myWebClient extends WebViewClient
{
    @Override
    public void onPageStarted(WebView view, String url, Bitmap favicon) {
        // TODO Auto-generated method stub
        super.onPageStarted(view, url, favicon);
    }

    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        // TODO Auto-generated method stub

        view.loadUrl(url);
        return true;

    }

    @Override
    public void onPageFinished(WebView view, String url) {
        // TODO Auto-generated method stub
        super.onPageFinished(view, url);

        imageView.setVisibility(View.GONE);
    }
}

// To handle "Back" key press event for WebView to go back to previous screen.
@Override
public boolean onKeyDown(int keyCode, KeyEvent event)
{
    if ((keyCode == KeyEvent.KEYCODE_BACK) && web.canGoBack()) {
        web.goBack();
        return true;
    }
    return super.onKeyDown(keyCode, event);
}

}

它只是一个黑屏。

推荐答案

我们可以通过以下方式实现这一目标,而不是为webview打开一个新活动,
WelcomeActivity.java 中,将webView和imageView添加到布局中,使webview变为不可见或Gone。

One way we can achieve this is by rather than opening a new activity for webview, In WelcomeActivity.java itself add webView and imageView to the layout and make webview to invisible or Gone.

打开WelcomeActivity初始化webView并设置自定义 WebViewClient 。在自定义webViewClient中覆盖 onPageFinished(),在此方法中,使webview可见,imageView为Gone。

On open of WelcomeActivity initialize webView and set custom WebViewClient. Override onPageFinished() in your Custom webViewClient and in this method make webview visible and imageView to Gone.

这篇关于在启动画面完成之前加载WebView URL的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆