学习各种动画,效果等,掌握其实现原理


动画简介


android中动画分为3种:

  1. Tween Animation(补间动画):通过对场景里的对象不断做图像变换(平移、缩放、旋转)产生动画效果,即是一种渐变动画。
  2. Frame Animation(帧动画):顺序播放事先做好的图像,是一种画面转换动画。
  3. Property Animation:(属性动画),通过动态地改变对象的属性从而达到动画效果,属性动画为API 11(3.0)新特性。                    一 Tween Animation
    补间动画的使用二 Frame Animation
      Frame Animation是顺序播放事先做好的图像,跟电影类似。不同于animation package,Android SDK提供了另外一个类AnimationDrawable来定义使用Frame Animation。
利用xml文件实现:res/drawable-hdpi/frame.xml:

[html]  view plain  copy

1. <?xml version="1.0" encoding="utf-8"?>  
2.   
3. <animation-list  
4. xmlns:android="http://schemas.android.com/apk/res/android"  
5. android:oneshot="true"  
6. >  
7. <item android:drawable="@drawable/p1" android:duration="1000"></item>  
8. <item android:drawable="@drawable/p2" android:duration="1000"></item>  
9. <item android:drawable="@drawable/p3" android:duration="1000"></item>  
10. <item android:drawable="@drawable/p4" android:duration="1000"></item>  
11. <item android:drawable="@drawable/p5" android:duration="1000"></item>  
12. <item android:drawable="@drawable/p6" android:duration="1000"></item>  
13. </animation-list>  
14.  使用动画

[java]  view plain  copy


1. AnimationDrawable anim = (AnimationDrawable)getResources().  
2. getDrawable(R.drawable.frame);  
3. textWidget = (TextView)findViewById(R.id.text_widget);  
4. textWidget.setText("背景渐变动画效果");  
5. textWidget.setBackgroundDrawable(anim);  
6. anim.start();

这里有点不同的是,利用AnimationDrawable实现动画时,本身并没有提供接口来监听动画的状态(开始,结束),需要自己处理。                                           
三 Property  Animation
属性动画的使用
工作原理分析