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(); //取消动画执行
- }
- });
- }
- }