天天看点

Android开发中的动画(上)--补间动画与帧动画

目前安卓开发中主要有三种动画

1.      Android中的动画类型

补间动画 ViewAnimation(TweenAnimation)

帧动画 Drawable Animation(FrameAnimation)

属性动画 Property Animation(Android3.0新引入)

2.    补间动画

(1)创建动画对象,返回值true使用Animation的动画效果,false为自己定义的
AnimationSet animationSet = new AnimationSet(true);
	(2)效果
		透明度渐变
		AlphaAnimation alphaAnimation = new AlphaAnimation(1, 0); //透明度1--0
           alphaAnimation.setDuration(500);	
		旋转
		 RotateAnimation rotateAnimation = new RotateAnimation(0, 360,
                  Animation.RELATIVE_TO_SELF,0.5f,
                  Animation.RELATIVE_TO_SELF,0.5f);			//旋转角度,旋转圆心
           rotateAnimation.setDuration(1000);
		缩放
		ScaleAnimation scaleAnimation = new ScaleAnimation(
                  0, 0.1f,0,0.1f,								//缩放x坐标缩放前后,y坐标前后
                  Animation.RELATIVE_TO_SELF,0.5f,
                  Animation.RELATIVE_TO_SELF,0.5f);			//缩放中心
           scaleAnimation.setDuration(1000);					//时长
		平移
		TranslateAnimation translateAnimation =
              new TranslateAnimation(
                  Animation.RELATIVE_TO_SELF,0f,				
                  Animation.RELATIVE_TO_SELF,0.5f,			//x坐标平移前后值
                  Animation.RELATIVE_TO_SELF,0f,				//y坐标平移前后值
                  Animation.RELATIVE_TO_SELF,0.5f);
           translateAnimation.setDuration(1000);				//时长
//开启动画
animationSet.addAnimation(translateAnimation);
           image.startAnimation(animationSet);
       }
    }
}
           

3.帧动画-----多图逐帧播放

步骤一:准备帧动画

步骤二:为动画定义一个xml的Drawable(用Animation-List)

Animation-List方法----设置多个图片连续播放

<1>在Drawable中创建Animation-List

   

   
    		//停止属性---(true为播放完停止,false重复播放)
    
    			//第一个显示的图片
    
    			//图二
    
    				//图三	

    
    		//图四	
    
    	//图五

   
<2>Layout中创建ImageView用于放置图片
	
   
<3>在Activity中开始动画
ImageView mFilling = (ImageView) findViewById(R.id. filling);
((AnimationDrawable) mImageViewFilling.getBackground()).start();
           

属性动画整理中....

继续阅读