为什么使用alpha值在webview中淡化不是线性动画? (立即从alpha 0到1)

时间:2015-02-27 15:46:41

标签: android android-layout android-webview android-animation

我试图在页面加载完成后淡入包含RelativeLayout的{​​{1}}。它主要是有效的,除了我不能让它淡入。动画的持续时间是正确的,但不透明度保持0直到动画的最后,当它立即变为1,所以没有淡入效果。我做错了什么?

WebView

我的XML

webView.setWebViewClient(new WebViewClient() {
            @Override
            public void onPageFinished(WebView view, String url) {
                relativeLayout.setAlpha(0f);
                relativeLayout.setVisibility(View.VISIBLE);
                relativeLayout.animate()
                        .alpha(1f)
                        .setDuration(shortAnimationDuration);
            }
        });

1 个答案:

答案 0 :(得分:0)

注意到同样的事情。我认为问题是因为在初始页面加载期间会出现一些UI阻塞。淡入或淡出都会出现此问题。一种可能的解决方法是使用LinearLayout或RelativeLayout覆盖webview,并将其淡化。这不会消除加载webview所需的持续时间,但如果动画足够长,则可能会使webview看起来像动画进入视图。页面加载后,删除叠加层。