什么叫帧动画
顾名思义,帧——就是影像动画中最小单位的单幅影像画面,相当于电影胶片上的每一格镜头。所以帧动画其实就是由若干张图片连接播放而形成的一种视觉效果。
怎么来用
很简单,跟着这些步骤来,你马上可以实现一个帧动画。
1.在res文件夹下创建anim文件夹,并在里面创建一个drawable_anim.xml,写入代码
<?xml version="1.0" encoding="utf-8"?>
<animation-list
xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot="true"
>
<item android:drawable="@drawable/a0" android:duration="100"/>
<item android:drawable="@drawable/a1" android:duration="100"/>
<item android:drawable="@drawable/a2" android:duration="100"/>
<item android:drawable="@drawable/a3" android:duration="100"/>
<item android:drawable="@drawable/a4" android:duration="100"/>
<item android:drawable="@drawable/a5" android:duration="100"/>
<item android:drawable="@drawable/a6" android:duration="100"/>
<item android:drawable="@drawable/a7" android:duration="100"/>
<item android:drawable="@drawable/a8" android:duration="100"/>
</animation-list>
很明显可以看出,每个item代表着一帧,两个属性分别是图片跟停留时间(就是这一帧放多久)。
然后我们在layout布局里,给需要执行的view加上
<ImageView
android:background="@drawable/drawable_anim" />
最后回到我们的java代码
AnimationDrawable animationDrawable = (AnimationDrawable) iv.getBackground();
animationDrawable.start();
这样就完事了
当然你也可以用纯java代码创建动画,这样来写
AnimationDrawable anim= new AnimationDrawable();
anim.addFrame(getResources().getDrawable(R.drawable.a0), 100);
anim.addFrame(getResources().getDrawable(R.drawable.a1), 100);
anim.addFrame(getResources().getDrawable(R.drawable.a2), 100);
anim.addFrame(getResources().getDrawable(R.drawable.a3), 100);
anim.setOneShot(false);
iv.setBackgroundDrawable(frameAnim);
anim.start();
是不是敲简单,好的,下一篇咱们讲重头戏——属性动画。
网友评论