安卓动画Animation

常见的动画分为两类: 

一、属性动画

二、帧动画

今天主要记一下四中属性动画

旋转:RotateAnimation

渐变色:AlphaAnimation

移动:TranslateAnimation

缩放:ScaleAnimation

下面直接上代码

@Override

public void onClick(View v) {

    //1创建AnimationSet对象//true 所有在这集的动画应该使用这个AnimationSet相关插补器 false 每个动画应该利用自身的内插

    AnimationSet animationSet = new AnimationSet(true);

    switch (v.getId()) {

        case R.id.xz: {

            //创建旋转动画对象

            RotateAnimation rotateAnimation = new RotateAnimation(0, 360, Animation.RELATIVE_TO_SELF, 0.5f,             Animation.RELATIVE_TO_SELF, 0.5f);

            rotateAnimation.setDuration(1000);

            //设置时间

            rotateAnimation.setRepeatCount(10);

            //动画播放次数

            animationSet.addAnimation(rotateAnimation);

            //将动画模式添加到AnimationSet对象 用于执行这个动画

            imageView.startAnimation(animationSet);

            //图片进行动画

            // imageView.setAnimation(animationSet); // 这里不要set动画 要开启 开启 我一开始一直不执行动画 感觉没错啊原来用了set

           break;

        }

        case R.id.drdc: {

            //创建渐变色动画

            AlphaAnimation alphaAnimation = new AlphaAnimation(1, 0); alphaAnimation.setDuration(500);             alphaAnimation.setRepeatCount(10);

            animationSet.addAnimation(alphaAnimation);

            imageView.startAnimation(animationSet);

            break;

        }

        case R.id.yd: {

            //创建移动动画

            TranslateAnimation translateAnimation = new TranslateAnimation(0, 200, 0, 0); translateAnimation.setDuration(3000);             translateAnimation.setRepeatCount(10);

            //设置重复次数

             translateAnimation.setRepeatMode(Animation.REVERSE);

            //设置反方向执行

            animationSet.addAnimation(translateAnimation);

            imageView.startAnimation(translateAnimation);

            break;

        }

        case R.id.sf: {

            //创建缩放动画

            ScaleAnimation scaleAnimation = new ScaleAnimation( 0, 1f, 0, 1f, Animation.RELATIVE_TO_SELF, 0.5f,             Animation.RELATIVE_TO_SELF, 0.5f);

            scaleAnimation.setDuration(1000);

            scaleAnimation.setRepeatCount(10);

            animationSet.addAnimation(scaleAnimation);

            imageView.startAnimation(animationSet);

            break;

        }

   }

}

你可能感兴趣的:(安卓动画Animation)