Animation2

AnimationDrawable

 

android.graphics.drawable.AnimationDrawable

 

Class OverviewAn object used to create frame-by-frame animations, defined by a series of Drawable objects, which can be used as a View object's background.

通过一系列可以绘制的对象,可以创建一帧一帧的动画的类,而且可以用作viewbackground

 

The simplest way to create a frame-by-frame animation is to define the animation in an XML file, placed in the res/drawable/ folder, and set it as the background to a View object. Then, call run() to start the animation.

创建frame动画的最最简单的方法是通过动画的xml文件(放在res/drawble下面),把它设置为一个view的背景,然后start该动画

An AnimationDrawable defined in XML consists of a single <animation-list> element, and a series of nested <item> tags. Each item defines a frame of the animation. See the example below.

AnimationDrawble可以定义xml根元素是<animation-list>子元素是一系列的<item>,每一个item都是每一个动画的一帧,看下面的例子

:

spin_animation.xml file in res/drawable/ folder

 

<!-- Animation frames are wheel0.png -- wheel5.png files inside the

 res/drawable/ folder -->

 <animation-list android:id="selected" android:oneshot="false">

    <item android:drawable="@drawable/wheel0" android:duration="50" />

    <item android:drawable="@drawable/wheel1" android:duration="50" />

    <item android:drawable="@drawable/wheel2" android:duration="50" />

    <item android:drawable="@drawable/wheel3" android:duration="50" />

    <item android:drawable="@drawable/wheel4" android:duration="50" />

    <item android:drawable="@drawable/wheel5" android:duration="50" />

 </animation-list>Here is the code to load and play this animation.

下面的是对动画的调用

 // Load the ImageView that will host the animation and

 // set its background to our AnimationDrawable XML resource.

 ImageView img = (ImageView)findViewById(R.id.spinning_wheel_image);

 img.setBackgroundResource(R.drawable.spin_animation);

 

 // Get the background, which has been compiled to an AnimationDrawable object.

 AnimationDrawable frameAnimation = (AnimationDrawable) img.getBackground();

 

 // Start the animation (looped playback by default).

 frameAnimation.start()

 

Summary

 

XML Attributes

Attribute Name

Related Method

Description

 

 

 

 

 

 

 

 

 

android:drawable

 

Reference to a drawable resource to use for the frame. 

Item的元素,指定当前帧的动画资源

 

 

 

 

 

 

 

 

 

android:duration

 

Amount of time (in milliseconds) to display this frame. 

一帧持续的时间

 

 

 

 

 

 

 

 

 

android:oneshot

 

If true, the animation will only run a single time and then stop. 

是否只播放一次,默认是true

 

 

 

 

 

 

 

 

 

android:variablePadding

 

If true, allows the drawable's padding to change based on the current state that is selected. 

可以更改动画资源的padding

 

 

 

 

 

 

 

 

 

android:visible

 

Provides initial visibility state of the drawable; the default value is false.

 

 

 

 

 

 

 

 

 

 

 

 

Public Constructors

 

AnimationDrawable()

 

 

 

 

 

 

 

 

 

 

Public Methods

void

addFrame(Drawable frame, int duration)

Add a frame to the animation

增加一帧

 

 

 

 

 

 

 

 

 

 

int

getDuration(int i)

获得持续时间

 

 

 

 

 

 

 

 

 

 

Drawable

getFrame(int index)

 获得第几个frame

 

 

 

 

 

 

 

 

 

 

int

getNumberOfFrames()

获得几个frame

 

 

 

 

 

 

 

 

 

 

void

inflate(Resources r, XmlPullParser parser, AttributeSet attrs)

 

 

 

 

 

 

 

 

 

 

 

boolean

isOneShot()

是否循环播放

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(android,xml)