`

【翻译】(77)可绘画对象动画

 
阅读更多

【翻译】(77)可绘画对象动画

 

see

http://developer.android.com/guide/topics/graphics/drawable-animation.html

 

原文见

http://developer.android.com/guide/topics/graphics/drawable-animation.html

 

-------------------------------

 

Drawable Animation

 

可绘画对象动画

 

Drawable animation lets you load a series of Drawable resources one after another to create an animation. This is a traditional animation in the sense that it is created with a sequence of different images, played in order, like a roll of film. The AnimationDrawable class is the basis for Drawable animations.

 

可绘画对象动画让你一个接一个地加载一系列Drawable资源以创建一个动画。从它是用一系列不同的图片创建,依次地播放,就像一卷胶卷(注:电影)的意义上看,这是一种传统动画。AnimationDrawable类是可绘画对象动画的基础。

 

While you can define the frames of an animation in your code, using the AnimationDrawable class API, it's more simply accomplished with a single XML file that lists the frames that compose the animation. The XML file for this kind of animation belongs in the res/drawable/ directory of your Android project. In this case, the instructions are the order and duration for each frame of the animation.

 

然而你可以在你的代码中定义一个动画的帧,使用AnimationDrawable类的API,用一个列举组成动画的帧的单一XML文件来实现会更简单。用于此类型动画的XML文件归入你的Android工程的res/drawable/目录。在这种情况下,指令是动画每个帧的次序和持续时间。

 

The XML file consists of an <animation-list> element as the root node and a series of child <item> nodes that each define a frame: a drawable resource for the frame and the frame duration. Here's an example XML file for a Drawable animation:

 

XML文件由作为根节点的一个<animation-list>元素以及一系列子<item>节点组成,每个子节点定义一个帧:一个用于该帧的可绘画对象资源和帧持续时间。这里有一个用于可绘画对象动画的示例XML文件:

 

<animation-list xmlns:android="http://schemas.android.com/apk/res/android"

    android:oneshot="true">

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

 

This animation runs for just three frames. By setting the android:oneshot attribute of the list to true, it will cycle just once then stop and hold on the last frame. If it is set false then the animation will loop. With this XML saved as rocket_thrust.xml in the res/drawable/ directory of the project, it can be added as the background image to a View and then called to play. Here's an example Activity, in which the animation is added to an ImageView and then animated when the screen is touched:

 

这个动画只运行三帧。通过设置列表的android:oneshot属性为true,它将只循环一次然后停止并保持在最后一帧上。如果它被设置为false,那么动画将循环。使用这个在工程的res/drawable/目录中保存为rocket_thrust.xml的XML,它可以被添加到一个View作为背景图片,然后被调用以播放。这里有一个示例Activity,在它里面该动画被添加到一个ImageView然后在屏幕被触碰时被动画化。

 

AnimationDrawable rocketAnimation;

 

public void onCreate(Bundle savedInstanceState) {

  super.onCreate(savedInstanceState);

  setContentView(R.layout.main);

 

  ImageView rocketImage = (ImageView) findViewById(R.id.rocket_image);

  rocketImage.setBackgroundResource(R.drawable.rocket_thrust);

  rocketAnimation = (AnimationDrawable) rocketImage.getBackground();

}

 

public boolean onTouchEvent(MotionEvent event) {

  if (event.getAction() == MotionEvent.ACTION_DOWN) {

    rocketAnimation.start();

    return true;

  }

  return super.onTouchEvent(event);

}

 

It's important to note that the start() method called on the AnimationDrawable cannot be called during the onCreate() method of your Activity, because the AnimationDrawable is not yet fully attached to the window. If you want to play the animation immediately, without requiring interaction, then you might want to call it from the onWindowFocusChanged() method in your Activity, which will get called when Android brings your window into focus.

 

重要的是注意被调用在AnimationDrawable上的start()方法不能在你的Activity的onCreate()方法期间被调用,因为AnimationDrawable还没有被完全依附到窗口。如果你希望立即播放动画,不需要交互,那么你可能希望从你的Activity中的onWindowFocusChanged()方法里调用它,它(注:指onWindowFocusChanged())将在Android带你的窗口进入焦点时被调用。

 

For more information on the XML syntax, available tags and attributes, see Animation Resources.

 

想获得关于XML语法,可用的标签和属性的更多信息,参见动画资源。

 

Except as noted, this content is licensed under Apache 2.0. For details and restrictions, see the Content License.

 

除特别说明外,本文在Apache 2.0下许可。细节和限制请参考内容许可证。

 

Android 4.0 r1 - 08 Mar 2012 0:34

 

-------------------------------

 

Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License.

 

(此页部分内容基于Android开源项目,以及使用根据创作公共2.5来源许可证描述的条款进行修改)

 

(本人翻译质量欠佳,请以官方最新内容为准,或者参考其它翻译版本:

* ソフトウェア技術ドキュメントを勝手に翻訳

http://www.techdoctranslator.com/android

* Ley's Blog

http://leybreeze.com/blog/

* 农民伯伯

http://www.cnblogs.com/over140/

* Android中文翻译组

http://androidbox.sinaapp.com/

 

分享到:
评论

相关推荐

    Flash CS3 绘画与动画宝典(配套光盘).rar

    Flash 绘画是学习Flash 动画的一大难点,本书将化难为易,助您走进Flash 动画的高级殿堂。本书从Flash 学习与应用两个层面,向读者讲解了Flash 基础、角色设计、动画设计、特效等绘画动画的方法,循序渐进,并配以...

    Android-ColoringLoading-一个用纯代码实现自动绘画效果动画的项目

    "ColoringLoading"项目是一个专注于纯代码实现自动绘画效果动画的示例,它摒弃了通常依赖于XML布局资源的方法,转而采用Java或Kotlin代码动态创建和控制动画。这种编程方式提供了更大的灵活性和自定义性,对于开发者...

    html5 SVG技术绘画小鸟动画.rar

    在这个"html5 SVG技术绘画小鸟动画"的示例中,开发者利用SVG元素和属性构建了一个生动的小鸟动画。小鸟的翅膀扇动和眼睛转动是通过CSS3的动画技术和SVG的路径(path)元素来实现的。CSS3动画提供了关键帧(keyframes...

    html5幼儿绘画 动画

    请在firefox和谷歌浏览器下观看,右击查看代码哦

    纯css3实现可爱的绘画家跳舞动画效果源码.zip

    【标题】"纯css3实现可爱的绘画家跳舞动画效果源码.zip"是一个包含CSS3技术实现的动画项目,旨在创建一个生动有趣的场景:一个绘画家在跳舞。这个项目完全依赖于CSS3的特性来实现,无需JavaScript或其他编程语言的...

    NovelAI绘画微信小程序源码 AI绘画源码带php独立后台程序源码

    NovelAI绘画微信小程序源码 AI绘画源码带php独立后台程序源码,NovelAI绘画小程序源码,源码半成品,实现了基础绘画功能,绘画广场这些没有完善,内置绘画接口已经挂了,需要自己替换。 NovelAI绘画微信小程序源码 ...

    html5 canvas绘画生成花朵动画代码

    在这个特定的“html5 canvas绘画生成花朵动画代码”项目中,我们将会探讨如何使用Canvas API来创建一个花朵绽放的动画效果。 首先,Canvas API是HTML5的一个核心特性,它提供了一系列的方法和属性,用于在2D画布上...

    android opengl es 绘画文字和3d动画

    总的来说,"android opengl es 绘画文字和3D动画"是一个涵盖了多方面技能的课题,包括字体渲染、3D建模、动画控制、矩阵运算以及可能的数据检索优化。掌握这些技能,开发者可以创建出引人入胜的3D游戏和应用,充分...

    CSS的隐藏绘画功能和交互动画技巧.pdf

    本文档《CSS的隐藏绘画功能和交互动画技巧.pdf》集中讨论了CSS中一些隐藏的绘画功能和交互动画技巧,这些技巧能够帮助设计师和前端开发者创造出更加丰富和吸引人的用户界面。 1. 隐藏绘画功能: 文档首先介绍了CSS...

    jQuery css3人物绘画涂鸦交互动画特效.zip

    jQuery基于css3属性制作酷炫的鼠标移动控制人物彩虹笔绘画交互特效。

    纯CSS3绘画出的笔记本电脑动画 呈现3D旋转效果.rar

    纯CSS3绘画出呈现3D旋转效果的笔记本电脑动画,CSS3 Animation Mackbook笔记本动画,特别是笔记本的投影可随笔记本的旋转角度变化而变化。CSS3越来越强大了,这是要淘汰传统CSS的节奏么?

    2019年中国动画行业研究报告.pdf

    本报告的研究对象集中在互联网动画,同时也涉及了电视动画和动画电影,其内容覆盖了低幼和非低幼人群。动画行业的划分和分类较为复杂,包括了多种工艺技术、传播媒介和面向人群的差异。动画的本质是一种综合艺术,它...

    AutoCAD的动画制作.pdf

    在本文档中,首先介绍了AutoCAD作为一款流行的工程绘画软件包,其动画制作原理以及如何利用VB5结合AutoCAD R14的ActiveX Automation技术实现动画制作和全屏幕显示。 在AutoCAD中,要实现动画,需让图形或其部分能...

    Unity3d 绘画工具

    9. **动画支持**:对于游戏开发,时间轴动画功能是必不可少的,这个工具可能允许用户为绘制的对象创建帧动画。 10. **教程和社区**:由于是国外开发,很可能有详细的文档和在线社区支持,便于用户学习和解决问题。 ...

    葡萄酒厂酿酒企业flash宣传动画源文件.rar

    酒厂酿酒企业flash宣传动画源文件,里面的动画全部是绘画出来的,是氏量动画的一种,显示出创作者极高的氏量绘画功底哦,这种Flash动画效果即使放大也不会失真,而且导出后生成的SWF文件也特别小,这种动画要求制作...

    AI绘画特训营从入门到精通 熟练使用AI工具 AI绘画技术应用到各类场景(下载地址).txt

    AI绘画变现特训营从入门到精通 熟练使用AI工具 AI绘画技术应用到各类场景 17.视频课AI绘画作品如何变现一.mp4 16.3MB 16.视频课AI绘画作品如何变现二.mp4 33.2MB 15.视频课AI绘画作品如何变现三.mp4 19.5MB 14....

    动画的概念不同于一般意义上的动画片

    动画的概念不同于一般意义上的动画片,动画是一种综合艺术,它是集合了绘画、漫画、电影、数字媒体、摄影、音乐、文学等众多艺术门类于一身的艺术表现形式。最早发源于19世纪上半叶的英国,兴盛于美国,中国动画起源...

    Flash动画课教学反思

    过去,学生在接触Flash动画软件后,过于关注制作复杂的动画效果,忽视了基础绘画技能的培养。这种现象导致学生虽然能制作出酷炫的动画,但在与网络上的专业作品相比时,显得逊色,主要原因是他们的绘画技术不足,...

    Android高仿墨迹天气背景动画效果,云,风,雪_动画效果等.zip

    在这个项目中,主要涉及到的是属性动画,它是Android 3.0及更高版本引入的新特性,能够对对象的任意属性进行动画操作,提供了更大的灵活性。 2. **自定义View** 创建这种复杂的天气背景动画通常需要自定义View类,...

Global site tag (gtag.js) - Google Analytics