补间动画之 AlphaAnimation

当前Android应用框架支持5种补间动画。如下:

AlphaAnimation:透明度(alpha)渐变效果,对应<alpha/>标签。

TranslateAnimation:位移渐变,需要指定移动点的开始和结束坐标,对应<translate/>标签。

ScaleAnimation:缩放渐变,可以指定缩放的参考点,对应<scale/>标签。

RotateAnimation:旋转渐变,可以指定旋转的参考点,对应<rotate/>标签。

AnimationSet:组合渐变,支持组合多种渐变效果,对应<set/>标签。

现在我们主要说说AlphaAnimation,AlphaAnimation可以实现“淡入淡出”效果,例如游戏欢迎logo的淡入淡出效果就使用AlphaAnimation来实现的。

AlphaAnimation可以通过两种方式来实现动画效果,

第一种:Java Code 代码形势

    iv = (ImageView) findViewById(R.id.imageView1);
        // 创建动画效果
        final AlphaAnimation ani = new AlphaAnimation(0, 1);
        // 设置动画持续时间
        ani.setDuration(5000);
        // 动画重复次数
        ani.setRepeatCount(1);
        // 设置动画重复模式为反方向执行
        ani.setRepeatMode(Animation.REVERSE);
        
        
        btn2 = (Button) findViewById(R.id.button1);
        btn2.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                // 给IamgeView设置动画,并开始
                iv.startAnimation(ani);
                //取消动画
                //ani.cancel();
            }
        });
View Code

第二种:XML实现动画效果

myalpha.xml文件

<?xml version="1.0" encoding="utf-8"?>
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="5000"
    android:fromAlpha="0.0"
    android:toAlpha="1.0" >

</alpha>

JavaCode:

final ImageView iv = (ImageView) findViewById(R.id.imageView1);
        // 创建动画效果
        final Animation animation = AnimationUtils.loadAnimation(this, R.anim.myalpha);
        
        btn2 = (Button) findViewById(R.id.button1);
        btn2.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                // 给IamgeView设置动画,并开始
                iv.startAnimation(animation);
            }
        });
View Code

关于AlphaAnimation还有很多方法和属性。具体可以看官方API

原文地址:https://www.cnblogs.com/ywtk/p/3844828.html