Frame类型动画使用步骤
Frame动画是一系列图片按照一定的顺序展示的过程,和放电影的机制很相似,我们称为逐帧动画。Frame动画可以被定义在XML文件中,也可以完全编码实现。
以目前的项目为例子,我需要制作一个可以在接收到网络数据时闪烁一下的LED控件,主要采用xml形式实现,因为个人原因比较喜欢可重用的东西。
在下图的蓝色选项处点击鼠标右键,选择Android XML File
弹出资源对话框中选择如下图。作为动画资源,Android官方居然将该资源归类到了Drawable中。这里有点搞,不过你也可以将生成的xml移动到anim中。
输入文件名,点击finish完成资源创建
1 <?xml version="1.0" encoding="utf-8"?> 2 <animation-list xmlns:android="http://schemas.android.com/apk/res/android" android:oneshot="false" > 3 4 <item android:drawable="@drawable/topbar_blue_off" android:duration="50"></item> 5 <item android:drawable="@drawable/topbar_blue_on" android:duration="50"></item> 6 7 </animation-list>
<animation-list>元素是必须的并且必须要作为根元素,可以包含一或多个<item>元素;
android:onshot 如果定义为true的话,此动画只会执行一次,如果为false则一直循环
<item>元素代表一帧动画
android:drawable指定此帧动画所对应的图片资源,
android:druation代表此帧持续的时间,整数,单位为毫秒
文件命名为 transport_lights.xml
最后一步需要用代码启动动画,这只是其中一种。
1 AnimationDrawable transport_bg = (AnimationDrawable) mTransport.getDrawable(); 2 transport_bg.start();