您的位置:首页 > 移动开发 > Android开发

android中的逐帧动画

2015-11-02 20:38 489 查看
在android中实现动画最简单的一种方式就是使用逐帧动画(AnimationDrawable).逐帧动画的原理同最古老的动画机制是一样的,通过快速的播放一组变化微小的图片,在人眼的视差时间下,达到一种连续播放的效果。逐帧动画涉及到的类是AnimationDrawable,这个类是一个Drawable类,因此需要将该类设置为一个view的background,然后让背景动起来。

定义一个AnimationDrawable:

<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot="false">
<item
android:drawable="@drawable/radar_001"
android:duration="30" />
<item
android:drawable="@drawable/radar_002"
android:duration="30" />
<item
android:drawable="@drawable/radar_003"
android:duration="30" />
<item
android:drawable="@drawable/radar_004"
android:duration="30" />
<item
android:drawable="@drawable/radar_005"
android:duration="30" />
<item
android:drawable="@drawable/radar_006"
android:duration="30" />

</animation-list>


android:oneshot表示动画是否循环播放,如果是true,表示只播放一次;如果是false,循环播放

调用动画:

AnimationDrawable ad = (AnimationDrawable)mImageView.getBackground();
ad.start();


也可以在代码中实例化一个AnimationDrawable对象

AnimationDrawable ad2 = new AnimationDrawable();
ad2.addFrame(this.getResources().getDrawable(R.drawable.radar_001), 50);
ad2.addFrame(this.getResources().getDrawable(R.drawable.radar_002), 50);
ad2.setOneShot(false);


效果:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: