Android实现动画效果详解

目前Android平台提供了两类动画一类是Tween动画,第二类就是 Frame动画,具体内容介绍请看下文:

一类是Tween动画,就是对场景里的对象不断的进行图像变化来产生动画效果(旋转、平移、放缩和渐变)。

第二类就是 Frame动画,即顺序的播放事先做好的图像,与gif图片原理类似。

实现动画有两种方式:一种使用XML文件(文件放在res/anim),一种直接代码搞定

 1、透明度控制动画效果alpha



代码方式:

复制代码 代码如下:

Animation animationAlpha = new AlphaAnimation(0.0f, 1.0f);
animationAlpha.setDuration(3000);
ivAnim.startAnimation(animationAlpha);
 

2、rotate旋转动画


复制代码 代码如下:

Animation animationRotate = new RotateAnimation(0.0f, +350.0f, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);
animationRotate.setDuration(3000);
ivAnim.startAnimation(animationRotate);

3、尺寸伸缩动画效果 scale




 
 

代码方式:

Animation animationScale = new ScaleAnimation(0.0f, 1.4f, 0.0f, 1.4f, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);
animationScale.setDuration(3000);
ivAnim.startAnimation(animationScale);

4、translate 位置转移动画效果





复制代码 代码如下:

Animation animationTranslate = new TranslateAnimation(30.0f, -80.0f, 30.0f, 300.0f);
animationTranslate.setDuration(3000);
ivAnim.startAnimation(animationTranslate);
 

xml文件方式使用的话就两行代码

复制代码 代码如下:

Animation anim = AnimationUtils.loadAnimation(activity, R.anim.anim_xxx);
ivAnim.startAnimation(anim);
 

5、frame帧动画(文件放在res/drawable)




 
 
 
 
 
 
 
 
 
 
 
 


xml帧动画使用代码:
ivFrame = (ImageView) findViewById(R.id.iv_frame_image);
ivFrame.setImageResource(R.drawable.anim_frame); 
animation = (AnimationDrawable) ivFrame.getDrawable();
animation.setOneShot(false);//循环
animation.start();

以上就是针对Android实现动画效果的全部内容,希望大家能够喜欢。

你可能感兴趣的:(Android实现动画效果详解)