本例动画效果:图片由正常显示变为透明的。
方法一
使用 AnimationUtils 和 xml 的方式,加载指定的透明度动画;
setFillAfter(true) 意思是动画执行完成后,保持动画完成时的状态。
本例来说就是,图片由正常显示变为透明的,动画执行完成后图片保持透明状态。
setDuration(3000) 是设置动画时长。
Animation alphaAnimation = AnimationUtils.loadAnimation(mContext, R.anim.alpha_animation);
alphaAnimation.setFillAfter(true);
alphaAnimation.setDuration(3000);
mImageView.startAnimation(alphaAnimation);
alpha_animation.xml 的内容,
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<!--
android:fromAlpha
Float. 设置透明度的初始值,其中0.0是透明,1.0是不透明的。
android:toAlpha
Float. 设置透明度的结束值,其中0.0是透明,1.0是不透明的。
-->
<alpha
android:duration="2000"
android:fromAlpha="1.0"
android:toAlpha="0.0" />
</set>
方法二
直接代码指定 AlphaAnimation ,不用 xml 配置。
AlphaAnimation alphaAnim = new AlphaAnimation(1f, 0);
alphaAnim.setDuration(3000);
alphaAnim.setFillAfter(true);
mImageView.startAnimation(alphaAnim);
方法三
属性动画实现,
ObjectAnimator.ofFloat(mImageView, "alpha", 1, 0, 1).setDuration(2500).start();