`
zangwenyang
  • 浏览: 124706 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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()

是否循环播放

 

 

 

 

 

 

 

 

 

 

 

 

分享到:
评论
1 楼 zangwenyang 2010-01-04  
isRunning()
Indicates whether the animation is currently running or not.
动画是否在播放
mutate()
Make this drawable mutable.

run()
This method exists for implementation purpose only and should not be called directly.
这个方法是留给重载时候实现,不能够从代码中直接调用的。调用start方法时候会默认调用run方法
setOneShot(boolean oneShot)
Sets whether the animation should play once or repeat.
设置播放一次
setVisible(boolean visible, boolean restart)
Set whether this Drawable is visible.
设置动画是否可见,如果restart是true,重新播放动画(即使动画已经显示了)
start()
Starts the animation, looping if necessary.
播放动画
stop()
Stops the animation.
停止播放动画
unscheduleSelf(Runnable what)
Use the current Drawable.Callback implementation to have this Drawable unscheduled.

相关推荐

Global site tag (gtag.js) - Google Analytics