AnimationSet类:动画集合类

清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>

 AnimationSet类:动画集合类

AnimationSet类是Android系统中的动画集合类,用于控制View对象进行多个动作的组合,该类继承于Animation类。 AnimationSet类中的很多方法都与Animation类一致,该类中最常用的方法便是addAnimation方法,该方法用于为动画集合对象 添加动画对象。

【基本语法】public void addAnimation (Animation a)

其中,参数a为Animation动画对象,可以是前述任何一种补间动作。

【实例演示】下面通过代码来演示如何设置一个组合动画效果。

    public class firstActivity extends Activity {  
    /** Called when the activity is first created. */  
    @Override  
    public void onCreate(Bundle savedInstanceState) {               //重载onCreate方法  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.main);  
     
        final ImageView image=(ImageView)findViewById(R.id.imageView1); //ImageView对象  
        Button btn1=(Button)findViewById(R.id.button1);             //按钮对象  
        Button btn2=(Button)findViewById(R.id.button2);  
        final Animation translateAnimation=new TranslateAnimation(0,300,0,300);                                                                 //设置位置变化动画  
        final Animation scaleAnimation = new   
         ScaleAnimation(0f,1f,0f,1f,Animation.RELATIVE_TO_SELF,0.5f,Animation.RELATIVE_TO_SELF,0.5f);  
                                                                //设置尺寸变化动画  
        final Animation alphaAnimation=new AlphaAnimation(0.1f,1.0f);   //设置透明度变化动画  
        btn1.setOnClickListener(new View.OnClickListener() {            //设置监听器  
              
            @Override  
            public void onClick(View v) {  
                // TODO Auto-generated method stub  
                translateAnimation.setDuration(10000);      //设置位置变化动画的持续时间  
                scaleAnimation.setDuration(10000);          //设置尺寸变化动画的持续时间  
                alphaAnimation.setDuration(10000);          //设置透明度渐变动画的持续时间  
                AnimationSet set=new AnimationSet(true);    //创建动画集对象  
                set.addAnimation(translateAnimation);       //添加位置变化动画  
                set.addAnimation(scaleAnimation);           //添加尺寸变化动画  
                set.addAnimation(alphaAnimation);           //添加透明度渐变动画  
                set.setFillAfter(true);                 //停留在最后的位置  
                set.setFillEnabled(true);  
                image.setAnimation(set);                    //设置动画  
                set.startNow();                         //启动动画  
            }  
        });  
        btn2.setOnClickListener(new View.OnClickListener() {    //设置监听器  
              
            @Override  
            public void onClick(View v) {  
                // TODO Auto-generated method stub  
                set.cancel();                               //取消动画执行  
            }  
        });  
    }  
    }