`
zangwenyang
  • 浏览: 127652 次
  • 性别: 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.

相关推荐

    unityanimation2d制作插件

    插件用于制作2d动画,zaiunity里使用十分方便,分享给大家

    Animation渐变效果

    文件名"UI_Test_Animation2"暗示可能有一个测试用例或示例项目,里面可能包含了实现上述渐变动画和Activity跳转的代码。通过分析和学习这个项目,开发者可以更深入地理解如何在实际应用中运用这些技术。 总的来说,...

    纯css3before和after伪元素结合animation鼠标悬停动画效果

    animation: my-animation 2s linear infinite; /* 当鼠标悬停时启动动画 */ } @keyframes my-animation { 0% { /* 初始状态 */ } 50% { /* 中间状态 */ } 100% { /* 结束状态 */ } } ``` 在这个例子中,`my-...

    css3 animation绘制彩色光点背景动画

    animation: dots-animation 2s ease-in-out infinite; /* 动画名称、持续时间、缓动函数、次数 */ animation-delay: calc(var(--delay) * 1ms); /* 用CSS变量控制不同光点的延迟,使其错落有致 */ } /* 使用CSS...

    CSS3 Animation进度条加载特效.zip

    animation: progress-bar-animation 2s linear forwards; } ``` 在这个例子中,我们为进度条添加了一个背景颜色,并使用`::before`伪元素创建了加载条。当类名`animated`被添加到进度条元素上时,动画开始运行。 ...

    微信小程序实现animation动画

    微信小程序实现animation动画,具体内容如下 1. 创建动画实例 wx.createAnimation(OBJECT) 创建一个动画实例animation。调用实例的方法来描述动画。最后通过动画实例的export方法导出动画数据传递给组件的...

    基于css3 animation实现的方块左右翻转loading页面加载动画特效.zip

    这里的`animation`属性包含了动画名称(`flip-animation`)、持续时间(`2s`)、延迟(默认为0,即立即开始)、播放次数(`infinite`表示无限次)和其他可能的参数。 `transform`属性是CSS3中的另一个关键特性,...

    android动画例子:tween animation and property animation

    7. **Animatable2接口**:对于支持Property Animation的视图,提供了开始、暂停、重置等动画控制方法。 在实际开发中,Tween Animation更适合简单的视图变换,而Property Animation则适合复杂且高度定制的动画效果...

    Core Animation动画例子

    2. **图层(Layers)**: Core Animation基于图层模型,图层是不可见的矩形区域,可以包含图像、文本或其他内容。图层可以堆叠、组合,形成复杂的视图结构。每个UIView对象都有一个对应的CALayer,它们之间的关系...

    Animation动画详解 - v1.0

    • 2、《Animation动画详解(二)——Interpolator插值器》 • 3、《Animation动画详解(三)—— 代码生成alpha、scale、translate、rotate、set及插值器动画》 • 4、《Animation动画详解(四)——ValueAnimator...

    CSS3-animation(动画)_Animation_css_

    2. **animation 属性**: 用于应用动画,它是一个复合属性,包括多个子属性,如 animation-name、animation-duration、animation-timing-function 等。例如: ```css element { animation-name: example; ...

    SurfaceView中添加Animation

    2. **应用Animation到SurfaceView** 在SurfaceView中使用Animation,我们需要先获取Animation实例,然后调用`startAnimation()`方法。注意,由于SurfaceView有自己的渲染线程,我们需要在SurfaceHolder的回调方法`...

    AnimationInstancing群体渲染

    2. **打包动画数据**: 使用Unity的Asset Pipeline工具,将动画Clip和其他相关资源打包成Asset Bundle文件。这个过程会将动画数据转换为二进制格式,方便快速加载。 3. **加载和播放动画**: 在运行时,根据需要动态...

    Animation_2(ListView动画)

    Animation_2(ListView动画)

    使用animation翻页动画效果

    `animation`属性由多个子属性组成,包括`animation-name`、`animation-duration`、`animation-timing-function`、`animation-delay`、`animation-iteration-count`、`animation-direction`、`animation-fill-mode`和...

    css3彩色变形爱心加载动画特效

    animation: heart-animation 2s infinite linear; } ``` 这里,`2s`代表动画的总时长,`infinite`表示无限循环,`linear`则表示动画速度在整个过程中保持一致。 为了实现彩色变形的效果,我们可以在`@keyframes`...

    Godot4开发2D游戏,动画状态机-AnimationTree代码

    本教程将深入探讨如何使用Godot4中的动画状态机——AnimationTree来创建复杂的2D游戏动画。 AnimationTree是Godot引擎中一个强大的工具,它允许开发者构建复杂的行为和动画系统,通过定义不同的状态和转换条件,...

    英文原版-Hybrid Animation Integrating 2D and 3D Assets 2nd Edition

    Expand your imagination by letting go of the limitations of traditional animation mediums, software packages, or workflows and integrating 2D and 3D assets. With the updated and expanded second ...

Global site tag (gtag.js) - Google Analytics