Android 动画(二)帧动画 AnimationDrawable

使用AnimationDrawable实现帧动画

帧动画是一种比较传统的动画,它是由一系列不同的图像创建的,按照顺序播放,就像播放电影一样。
虽然可以使用AnimationDrawable类在代码中定义与使用动画,但使用单个XML文件定义帧动画会更简单。

XML文件由一个元素作为根节点和一系列子节点组成,每个子节点定义一个框架:一个可绘制的框架资源和帧持续时间。

注意:不能在onCreate()调用AnimationDrawable的start()方法,因为AnimationDrawable还没有完全加载到Activity中。如果你想要立即播放动画而不需要交互,那么你可以从Activity的onStart()中的方法调用该动画的start()方法,这样当该Activity的视图可见时,该动画将会自动播放。

这里有一个Activity示例,其中动画添加到一个ImageView动画中,然后点击按钮 启动/停止 动画:

以下是可绘制动画的示例XML文件:

该动画仅运行36帧,每一帧持续100ms。通过将android:oneshot 列表属性设置为true,它将循环一次,然后停止并保持最后一帧。如果它设置为false,则动画将循环。将这个xml保存在res/drawable/anim_draw_loading.xml中,可以将其作为背景图像添加到View中,然后可以调用播放。

drawable/anim_draw_loading.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/pointer_wait_0" android:duration="100" />
    <item android:drawable="@drawable/pointer_wait_1" android:duration="100" />
    <item android:drawable="@drawable/pointer_wait_2" android:duration="100" />
    <item android:drawable="@drawable/pointer_wait_3" android:duration="100" />
    <item android:drawable="@drawable/p
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值