淡出启动画面,淡入Android中的Webview

时间:2018-07-10 22:00:24

标签: android webview splash-screen

我目前正在使用以下代码在我的启动画面和Web视图之间切换。它工作正常,除了开关突然而且不太优雅。我想知道的是,如何在加载内容而使Webview淡入时使启动屏幕淡出?

这是我的工作代码;

@Override
            public void onPageFinished(WebView view, String url) {
            //hide loading image
            findViewById(R.id.imageLoading1).setVisibility(View.GONE);
            //show webview
            findViewById(R.id.webview).setVisibility(View.VISIBLE);
        }

谢谢。

1 个答案:

答案 0 :(得分:2)

使用此:

private ImageView splash; 
splash = (ImageView) findViewById(R.id.SplashId);
        webview = (WebView) findViewById(R.id.WebviewId);

        webview.setVisibility(View.GONE);
        splash.setVisibility(View.VISIBLE);

        final Animation fadeIn = new AlphaAnimation(0, 1);
        fadeIn.setInterpolator(new DecelerateInterpolator());
        fadeIn.setDuration(1000);
        final Animation fadeOut = new AlphaAnimation(1, 0);
        fadeOut.setInterpolator(new AccelerateInterpolator());
        fadeOut.setStartOffset(1000);
        fadeOut.setDuration(1000);
        final AnimationSet animation = new AnimationSet(false);
        animation.addAnimation(fadeIn);
        animation.addAnimation(fadeOut);

    webview.setWebViewClient(new WebViewClient() {
    @Override
    public void onPageFinished(WebView view, String url) {

        splash.setAnimation(fadeOut);
        splash.postDelayed(new Runnable() {
                @Override
                public void run() {
                    splash.setVisibility(View.GONE);
                    webview.setVisibility(View.VISIBLE);
                    webview.setAnimation(fadeIn);
                }
            }, 1600);
        }


});

已经消失了[ FadeOut ],然后是Animation的Visible WebView [ FadeIn ]。 享受:)