启动屏幕(图像视图)淡出

时间:2014-08-05 23:26:18

标签: android webview imageview fadeout

我为我的应用程序制作了一个启动屏幕,使得Imageview在启动后可见4秒。然后,它会切换Imageview和Web视图的可见性,以便现在可以看到Web视图。当Imageview消失时,如何制作淡出效果?

这是我用来切换可见性的代码

new Handler().postDelayed(new Runnable() {
        public void run() {
            findViewById(R.id.imageLoading1).setVisibility(View.GONE);
            findViewById(R.id.webMain).setVisibility(View.VISIBLE);
        }
    }, 4000);

1 个答案:

答案 0 :(得分:1)

您的代码不起作用的原因是Handler().postdelayed(Runnable, int)等待指定的时间然后执行Runnable。您需要做的是更改视图的透明度。

要淡出一个视图,同时淡出另一个视图,请尝试以下操作:

首先将WebView设置为淡入4秒以上:

View web = findViewById(R.id.webMain);

web.setAlpha(0f);
web.setVisibility(View.VISIBLE);

web.animate()
        .alpha(1f)
        .setDuration(4000)
        .setListener(null);

接下来将ImageView设置为淡出:

View image = findViewById(R.id.imageLoading1);
image.animate()
        .alpha(0f)
        .setDuration(4000)
        .setListener(new AnimatorListenerAdapter() {
            @Override
            public void onAnimationEnd(Animator animation) {
                // Now that the ImageView is fully transparent, hide it.
                image.setVisibility(View.GONE);
            }
        });

两个视图应该均匀交叉淡入淡出。有关详情和动画,请参阅Android开发者的this tutorial

希望这有帮助!