我的Android开发之旅(四):Android三种动画效果的浅入之帧动画
1. 前言
Android的动画分为3大类:View动画、帧动画和属性动画。View动画在我之前的一篇博客 我的Android开发之旅(二):Android三种动画效果的浅入之View动画 中有讲述到,主要介绍了View动画的基本属性以及如何使用。本篇将着重介绍Android动画的帧动画。
2. 帧动画
帧动画是Android三大动画里实现原来最简单的一种,跟小时候看的手翻书是一个原理,由多张相似的图片在短时间内连续播放,从而模拟动态的动画效果。
3. 如何使用
3.1 AnimationDrawable
官方提供了 AnimationDrawable 类给我们生成帧动画,它的常用方法如下:
xml | java | 作用 |
---|---|---|
android:oneshot=“true | false” | setOneShot(boolean oneShot) | 设置是否播放一次。true表示只播放一次,false表示循环播放 |
无 | addFrame(Drawable frame, int duration) | 添加一副图片帧。frame表示图片资源,duration表示持续时间,单位ms |
无 | start() | 开始播放 |
无 | stop() | 停止播放 |
无 | isRunning() | 判断是否正在播放 |
3.2 Xml实现
首先准备好几张用来实现帧动画的图片,这里我用了8张风扇的图片,图片资源链接: 提取码: 4dxw
接着将图片放置项目目录res/drawable下,并在同个目录下新建一个 Drawable Resource File ,取名为fan_anim.xml。
注意:新建 Drawable Resource File 的时候,Root element 处改成 animation-list
在 fan_anim.xml 中添加图片:
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot="false">
<item
android:drawable="@drawable/f1"
android:duration="100" />
<item
android:drawable="@drawable/f2"
android:duration="100" />
<item
android:drawable="@drawable/f3"
android:duration=