Android 动画(2) Drawable Animation

来源:互联网 发布:dwg trueview for mac 编辑:程序博客网 时间:2024/06/05 15:04

简介:

上篇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"] ><itemandroid: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方法执行;


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


0 0
原创粉丝点击