我正在构建我正在开发的应用程序的设计,我正在尝试将图像淡入屏幕。但是,图像在成功翻译时仍然不可见。这是代码:
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的原因。
答案 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();