Android 动画(2) Drawable Animation

简介:

上篇blog写了View Animation,这里就简单的写写Drawable Animation,很多也是看别人blog写的东西,这里主要是记录一下自己所需要学的东西;

Drawable Animation(Frame Animation):帧动画,就好像GIF图一样,例如一些通过不同的drawable资源来实现的加载状态框;

实现:

Drawable Animation中的XML文件存放路径为(/res/drawable/filename.xml)

XML语法如下:

<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
    android:oneshot=["true" | "false"] >
<item
android:drawable="@[package:]drawable/drawable_resource_name"
android:duration="integer" />
</animation-list>

注意:

animation-list标签是必须的,oneshot设置为true的时候那么动画只执行一次,设置为false则一直循环执行;

XML使用如下:

image.setBackgroundResource(R.anim.frame);  
AnimationDrawable anim = (AnimationDrawable) image.getBackground();  
anim.start();  

注意:

anim.start();这条语句不能再oncreate方法中执行,不然的话动画只会执行到第一帧,因为Window对象还没有初始化;可以在onWindowFocusChange中执行;


JAVA Code代码实现如下:

AnimationDrawable anim = new AnimationDrawable();
for (int i = 1; i <= 4; i++) {
	int id = getResources().getIdentifier("square" + i, "drawable", getPackageName());
	Drawable drawable = getResources().getDrawable(id);
	anim.addFrame(drawable, 300);
}
anim.setOneShot(false);
image.setBackgroundDrawable(anim);
anim.start();

如上代码所示,我们把square1,square2,square3,square4图片添加到AnimationDrawble里面;然后调用start方法执行;


最后:如果上面有写漏或者写错的地方,希望大家指出,谢谢;


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值