安卓的动画分为两种,
1. Tween Animation:通过对场景里的对象不断做图像变换(平移、缩放、旋转)产生动画效果,即是一种渐变动画;
2. Frame Animation:顺序播放事先做好的图像,是一种画面转换动画。
这里先说一下渐变动画。
分为以下几步
第一步:在res资源里建立anim资源文件,为myanim.xml,定义动画格式如下
Xml代码
1. <?xml version="1.0" encoding="utf-8"?>
2. <set xmlns:android="http://schemas.android.com/apk/res/android" >
3.
4. <rotate
5. android:duration="500"
6. android:fromDegrees="0"
7. android:interpolator="@android:anim/accelerate_decelerate_interpolator"
8. android:pivotX="50%"
9. android:pivotY="50%"
10. android:toDegrees="+350" />
11.
12. <translate
13. android:duration="500"
14. android:fromXDelta="30"
15. android:fromYDelta="30"
16. android:toXDelta="-80"
17. android:toYDelta="300" />
18.
19. <alpha
20. android:duration="500"
21. android:fromAlpha="0.1"
22. android:toAlpha="1.0" />
23.
24. </set>
渐变动画有4中,还有一种是scale,伸缩尺寸效果。有兴趣的可以研究一下,当然我们的效果也可能是其中一种单纯的效果,也可能是4种效果的混合使用。
上面的效果可以实现类型天天动听等音乐播放软件,点击歌曲列表中的一些,将有一个向下坠落的动画效果。
第二步、就是在java代码中调用这个效果了,方法如下:
Java代码
1. ImageView spaceshipImage = (ImageView) findViewById(R.id.imageView1);
2. //加载动画
3. Animation hyperspaceJumpAnimation =AnimationUtils.loadAnimation(SplashActivity.this, R.anim.myanim);
4. //使用ImageView显示动画
5. spaceshipImage.startAnimation(hyperspaceJumpAnimation);
好了,感兴趣吗,试试吧。