1.简介
帧动画是Android中最基础的动画,所谓帧动画就是一个图片接着一个图片循环播放得到的,就像小时候的"翻书小人"。
在Android中一般将帧动画用于加载页面,例如经典的等待"菊花怪":
或者是在美团等应用中的奔跑小人。
2.简单的使用
1.在工程的res目录下新建一个anim文件,在anim文件中新建一个帧动画的XML。
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot="false">
<item
android:drawable="@drawable/loading00"
android:duration="150"/>
...
</animation-list>
说明:①.animation-list表示一个动画链,里面有很多item就是一个个帧;
②.android:oneshot="false"是否执行只一次,这里的false表示无限执行,只要动画不停止
③.android:drawable表示图片资源
④.android:duration表示该item的运行时间,这里单位是毫秒ms
2.设置一个控件的背景或者ImageView的src属性为该帧动画
android:src="@anim/frame_anim_loading"
android:background="@anim/frame_anim_loading"
3.在代码中获得AnimationDrawable对象
这里是设置在Imageview的src属性中:
AnimationDrawable frameAnim = (AnimatinDrawable) ivLoading.getDrawable();
如果是在background中
AnimationDrawableframeAnim frameAnim= (AnimationDrawable) tvLoading.getBackground();
4.在合适的地方调用
开始动画
frameAnim.start();
关闭动画
frameAnim.stop();
5.帧动画分析
优点:使用简单
不足:1.需要准备多张图片资源,图片要求大小一致.
2.图片资源如果过大,很浪费资源,并且容易造成OOM.