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