android动画——Frame by Frame Animation
在写Frame by Frame Animation之前先介绍一下android中支持的动画类型。android有两种机制让用户创建简单的动画——tweened animation 和 frame by frame animation 。 其中tweened animation 实现 view 的诸如 移动 、大小变化、旋转等;frame by frame animation 是加载一系列的图片顺序的播放他们。处理 tweened animation的api 在包 android.view.animation中,而处理 frame by frame animation 的 在 AnimationDrawable 中。
下面重点说一下frame by frame animation (帧动画):
Frame动画是一系列图片按照一定的顺序展示的过程,和放电影的机制很相似,我们称为逐帧动画。Frame动画可以被定义在XML文件中,也可以完全编码实现。
如果被定义在XML文件中,我们可以放置在/res下的anim或drawable目录中,文件名可以作为资源ID在代码中引用;如果由完全由编码实现,我们需要使用到AnimationDrawable对象。
1、将动画定义在xml文件中
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.frame_anim_layout); init();// try {// mAd = (AnimationDrawable) mFrameImg.getBackground();// } catch (ClassCastException e) {// mAd = null;// } createAnim(); mFrameImg.setBackground(mAd); }再将 frame_anim_layout.xml中的 android:background="@drawable/frame_by_frame_anim" 删除即可。