android动画学习(3)-Frame动画

2016-06-18  本文已影响37人  墨源为水

一.Frame动画简介

Frame动画又称帧动画,在于Tween明显的不同就是Tween动画只定义起点与终点,但是Frame动画要把动画的每一帧都要定义,所以它需要一个list来装所以item的帧,而且它的类型是AnimationDrawable,是放在drawable文件夹下的。
1.文件目录:res/drawable/filename.xml
2.编译资源数据类型 AnimationDrawable
以下就是一个基本的Frame定义

<?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>

二.Frame动画属性

(1)<animation-list>根元素

必须作为根元素,包含一个或者多个根元素
属性:android:oneshot :true:只执行一次动画,false:循环执行

(2)<item>一帧独立动画

一帧独立动画,必须是<animation-list> >的子元素
它的属性有:

  1. android:drawable Drawable资源,用于这一帧的图片
  2. android:duration **Integer类型.该帧的时长,单位为毫秒milliseconds. **

三. Frame动画案例

res/anim/rocket_thrust.xml:

<?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/rocket_thrust1" android:duration="200" /> 
    <item android:drawable="@drawable/rocket_thrust2" android:duration="200" /> 
    <item android:drawable="@drawable/rocket_thrust3" android:duration="200" /> 
</animation-list>

它的使用:

ImageView rocketImage = (ImageView) findViewById(R.id.rocket_image); 
rocketImage.setBackgroundResource(R.drawable.rocket_thrust); 
rocketAnimation = (AnimationDrawable) rocketImage.getBackground(); 
rocketAnimation.start();
上一篇 下一篇

猜你喜欢

热点阅读