Android动画 之 FrameAnimation(AnimationDrawable)

public class

AnimationDrawable

extends DrawableContainer
implements Animatable Runnable
 
一、创建动画播放资源列表 res/anim/animation_drawable.xml
<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"><!-- 注意xmlns的设置 -->
	<item android:drawable="@drawable/a1" android:duration="500"></item><!-- drawable设置图片 duration设置切换时间间隔 -->
	<item android:drawable="@drawable/a2" android:duration="500"></item>
	<item android:drawable="@drawable/a3" android:duration="500"></item>
</animation-list>

二、设置ImageView的background属性
1.通过xml文件设置
<ImageView android:id="@+id/iv_show" android:layout_width="fill_parent"
	android:layout_height="fill_parent" android:background="@anim/anim_drawable" />

2.在Java代码中设置
ImageView iv_show = (ImageView) findViewById(R.id.iv_show);
iv_show.setBackgroundResource(R.anim.anim_drawable);

 

三、动画的开启

ad.start();


注意:动画在onCreate()中不能直接开启,需要事件的触发,否则不能成功!若需要自动开启,可以使用如下一种方式:

final AnimationDrawable ad = (AnimationDrawable) iv_show.getBackground();
		
//设置自启动播放动画
iv_show.getViewTreeObserver().addOnPreDrawListener(new OnPreDrawListener() {
		public boolean onPreDraw() {
			ad.start();
			return true;
		}
	}
);


四、动画的关闭

ad.stop();


 

由于作者属于初学者,若在文章中存在错误等,欢迎指正!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值