试图动画图像的Alpha

时间:2016-08-18 20:18:26

标签: android

我正在构建我正在开发的应用程序的设计,我正在尝试将图像淡入屏幕。但是,图像在成功翻译时仍然不可见。这是代码:

facebookLoginButton = (ImageView)findViewById(R.id.facebookLoginButton); // Start of facebookLoginButton code
facebookLoginButton.setTranslationY(250f);
facebookLoginButton.setImageAlpha(0);
facebookLoginButton.animate().translationYBy(-250f).alpha(1).setDuration(1500); // End of facebookLoginButton code

我知道图片移动成功,因为当我删除facebookLoginButton.setImageAlpha(0);时,我看到图像移动到屏幕上。为什么图像不可见?

注意:应用程序还没有任何功能,这就是我的按钮是ImageView的原因。

1 个答案:

答案 0 :(得分:2)

View.animate()返回的ViewPropertyAnimator遵循构建器模式。每个方法都返回待处理的ViewPropertyAnimator,您必须调用start()来激活动画。

修改:Alpha也不是动画,因为setImageAlpha()View内设置了图片的Alpha值,而不是View本身。虽然ViewPropertyAnimator会动画View的alpha,而不是View中的图片。虽然{@ 3}}已弃用,但ImageView.setAlpha(int alpha)不推荐使用,您必须使用此方法为View设置字母。然后ViewPropertyAnimator可以设置该值的动画:

facebookLoginButton.setTranslation(250F);
facebookLoginButton.setAlpha(0.0F);
facebookLoginButton.animate()
            .translationYBy(-250F)
            .alpha(1.0F)
            .setDuration(1500)
            .start();