Android开发者指南-Drawable 动画-Drawable Animation[原创译文]
来源:互联网 发布:文员office办公软件 编辑:程序博客网 时间:2024/06/14 03:32
Drawable Animation
英文原文:http://developer.android.com/guide/topics/graphics/drawable-animation.html
版本:Android 4.0
Drawable 动画可以按顺序装载一系列 Drawable 资源,以便创建动画并显示。这是传统的动画方式,把一系列不同的图片按顺序显示出来,就像播放电影胶片一样。 Drawable 动画的基础是 AnimationDrawable 类。
如果要用代码来定义动画的各个帧,请使用 AnimationDrawable 类的 API。不过更简便的方式是用一个 XML 文件来实现,其中列出了组成动画的所有帧。 这个 XML 文件位于 Android 项目的 res/drawable/ 目录下,内含了每个动画帧的显示顺序、持续时间等定义。
XML 文件由一个 <animation-list> 根元素和一系列 <item> 子节点组成,每个子节点定义了一个帧:一个作为帧显示的 drawable 资源和显示的持续时间。 以下是 Drawable 动画 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>
这个动画只显示了三帧。android:oneshot 属性设置为 true表示只播放一次,然后停止并保持显示于最后一帧。 如果该属性设为 false,则动画将会循环播放。 这段 XML 保存于项目 res/drawable/ 目录下的rocket_thrust.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);}
有一点非常重要,请注意在 Activity 的 onCreate() 方法中,不能调用 AnimationDrawable 的 start() 方法。 因为此时 AnimationDrawable 还没有完全装入窗口。如果你需要立即显示动画,而不需要用户交互,你可能需要在 Activity 的 onWindowFocusChanged() 方法中调用,窗口获得焦点时 Android 系统将会调用该方法。
有关 XML 语法的详情、支持的标记和属性,请参阅 Animation Resources。
- Android开发者指南-Drawable 动画-Drawable Animation[原创译文]
- Android开发者指南-动画-Animation[原创译文]
- Android开发者指南-Property动画-Property Animation[原创译文]
- Android开发者指南-View 动画-View Animation[原创译文]
- Android动画-Drawable Animation
- Drawable Animation(Android动画)
- Android绘图动画---Drawable Animation
- Android动画之Drawable Animation
- Android动画之一:Drawable Animation
- Android动画之一:Drawable Animation
- Android动画之一:Drawable Animation
- Android帧动画Drawable Animation
- Android 动画(2) Drawable Animation
- Android动画之一:Drawable Animation
- Android动画之一:Drawable Animation
- Android动画之Drawable Animation
- Android drawable animation(帧动画)
- Android Animation 动画(二)--Drawable动画
- Maven与MyEclipse项目
- nor current process has android.permission.WRITE_APN_SETTINGS Proxy andriod,代理上网,wap网络请求有关问题
- UML用例图
- POJ1837:Balance
- Learning Standard C++ as a New Language ( By Bjarne Stroustrup )
- Android开发者指南-Drawable 动画-Drawable Animation[原创译文]
- java.String类replace函数的详解
- Natas.4744幽灵王病毒的分析
- Android HTTP实例:发送请求和接收响应的小demo
- 计算机与信息工程学院CSDN社团见面会
- Android开发者指南-View 动画-View Animation[原创译文]
- git 使用命令----
- HDU:4771 Stealing Harry Potter's Precious
- MyBatis:一对多表关系详解(从案例中解析)