`

Animations

阅读更多

Animations

 

Android支持2种类型的动画。内插动画可以应用于旋转、平移、放缩和渐变;frame-by-frame动画用来显示一系列的图片。关于创建、使用和应用动画的广泛概述可以在11章找到。

 

把动画定义成外部资源,有利于在多个地方使用,并且能基于设备硬件或方向选择适应的动画。

 

Tweened Animations

 

每个内插动画以独立的XML文件存储在/res/anim文件夹下。和layoutsdrawable资源一样,动画XML的文件名用作资源的标识。

 

每个动画可以用来定义以下的变化:alpha(渐变)、scale(放缩)、translate(平移)和ratate(旋转)。

 

每个类型的动画都有特性来定义内插序列如何作用:

 

Alpha         fromAlpha/toAlpha       0-1

Scale          fromXScale/toXScale     0-1

                   fromYScale/toYScale      0-1

                   pivotX/pivotY                  图像的宽度/高度的百分比字符串    0%-100%

Translate  fromX/toX      0-1

                   fromY/toY      0-1

Rotate       fromDegrees/toDegrees     0-360

                   pivotX/pivotY                   图像的宽度/高度的百分比字符串    0%-100%

 

你可以使用<set/>标签来创建多个动画。一个动画集包含一个到多个动画变化,并且支持一些额外的标签和特性来定制动画集中的动画何时以及怎样运行。

 

接下来的列表给了一些set标签一些特性:

duration 动画的持续时间(毫秒)

startOffset 启动动画的延时(毫秒)

fillBefore  True表示在动画开始前应用动画变换

fillAfter   True表示动画开始后应用动画变换

interpolator  设置整个时间范围如何影响动画的速度。在11章中会探讨这个变量。指定interpolator时需要引用系统的动画资源(android:anim/interpolatorName)。

 

如果你不使用startOffset标签,动画集中的动画将同步执行。

 

接下来的例子显示了动画集控制目标在缩小淡出的同时旋转360度:

 

<?xml version=”1.0” encoding=”utf-8”?>

<set xmlns:android=”http://schemas.android.com/apk/res/android”

android:interpolator=”@android:anim/accelerate_interpolator”>

<rotate

android:fromDegrees=”0”

android:toDegrees=”360”

android:pivotX=”50%”

android:pivotY=”50%”

android:startOffset=”500”

android:duration=”1000” />

<scale

android:fromXScale=”1.0”

android:toXScale=”0.0”

android:fromYScale=”1.0”

android:toYScale=”0.0”

android:pivotX=”50%”

android:pivotY=”50%”

android:startOffset=”500”

android:duration=”500” />

<alpha

android:fromAlpha=”1.0”

android:toAlpha=”0.0”

android:startOffset=”500”

android:duration=”500” />

</set>

 

 

Frame-by-Frame Animations

 

Frame-by-Frame动画用于View的背景上,显示一系列的图片,每张图片显示指定的时间。

 

因为Frame-by-Frame动画显示drawables,所以,它们也被放在/res/drawble文件夹下(和Tweened动画不同),并且使用它们的文件名作为它们的资源标识。

 

接下来的XML片段显示了一个简单的动画,它循环显示一些位图资源,每张位图显示0.5秒。为了能使用这个XML片段,你需要创建rocket1-rocket3 三个新的图片资源。

 

<animation-list

xmlns:android=”http://schemas.android.com/apk/res/android”

android:oneshot=”false”>

<item android:drawable=”@drawable/rocket1” android:duration=”500” />

<item android:drawable=”@drawable/rocket2” android:duration=”500” />

<item android:drawable=”@drawable/rocket3” android:duration=”500” />

</animation-list>

 

分享到:
评论

相关推荐

    GPU Instancer – Crowd Animations v1.0.2

    Crowd Animations is an extension for GPU Instancer, and requires it to work. Support Forum | Documentation | F.A.Q. Crowd Animations is an out of the box solution for using massive amounts of ...

    14Arrow&Animations;&1.0.rar

    标题 "14Arrow&Animations;&1.0.rar" 指示的是一个包含14种3D箭头样式和动画的资源包,版本为1.0。这个资源包是为Unity3D游戏引擎设计的,这可以从描述和标签中得到确认。Unity3D是一款广泛应用于游戏开发、虚拟现实...

    SVG Animations.pdf

    SVG Animations.pdf SVG Animations.pdf SVG Animations.pdf SVG Animations.pdf SVG Animations.pdf SVG Animations.pdf

    常用动画效果 Animations

    "常用动画效果 Animations"这个主题主要涉及的是在编程中如何实现各种动态视觉效果。在本篇中,我们将深入探讨两种常见的动画效果实现方法,并结合代码示例进行详细解释。 首先,我们要了解动画在软件开发中的基本...

    James Cabello Animations.7z删

    James Cabello Animations.7z删

    十大热门Android开源项目之 Material-Animations

    Material-Animations是专门为Android平台设计的一款开源项目,它致力于实现Material Design规范中的各种动画效果,使得开发者可以轻松地在自己的应用中添加生动、流畅的过渡动画。 项目的核心目标是提供Activity...

    Mega Animations Pack.unitypackage

    《Unity人形动画包——Mega Animations Pack详解》 Unity引擎是当今游戏开发领域广泛使用的强大工具,尤其在3D游戏和交互式应用中占据了重要地位。在开发过程中,角色动画是提升用户体验的关键因素之一。"Mega ...

    iOS_Animations_by_Tutorials_v3.0

    本文档是关于“iOS Animations by Tutorials v3.0”的书籍介绍。该书由Marin Todorov撰写,涵盖了使用Swift语言在iOS 10环境下开发动画的知识和技巧。书籍中的教程可能被用来学习如何制作各种交互动画效果,提升iOS...

    iOS_Animations_by_Tutorials_v4.0内含所有章节的代码资源

    《iOS_Animations_by_Tutorials_v4.0内含所有章节的代码资源》是Ray Wenderlich出版的一本针对iOS动画的教程书籍,该书已经更新到了第四版,使用的是Swift4语言和Xcode9开发环境。书中涵盖了丰富的iOS动画技术,通过...

    iOS Animations by Tutorials v4.0 (Swift4)

    《iOS Animations by Tutorials v4.0》是专门针对Swift4编程语言设计的一本教程,旨在帮助开发者深入了解和掌握iOS平台上的动画技术。这本书详细介绍了如何利用Swift4来创建各种吸引人的、交互性强的动画效果,提升...

    Creating Web Animations Bringing your UIs to Life epub

    Creating Web Animations Bringing your UIs to Life 英文epub 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请联系上传者或csdn删除

    Combat animations - Kung fu V1 v1.0

    标题“Combat animations - Kung fu V1 v1.0”揭示了一个专门针对功夫和武术设计的3D动画集合。这个版本1.0的动画库,包含了39个精心制作的第三人称功夫动作,旨在为玩家提供更加真实且沉浸式的体验。 这些动画不...

    Crowd Animations 是 GPU Instancer 的扩展工具,没有它就无法正常运作。

    Crowd Animations 是一个开箱即用的解决方案,支持在高性能场景中使用大量的动画角色。CA (Crowd Animations) 采用 GPU Instancer 核心功能,并在 GPUI 间接实例化解决方案和 GPU 剔除技术的基础上增加了 GPU 蒙皮...

    Learn Adobe Animate CC for Multiplatform Animations 2nd2018

    Learn Adobe Animate CC for Multiplatform Animations 2nd Edition pdf Knowing the industry-standard animation and interactivity tool Adobe Animate CC can help you get a foothold in the exciting web ...

    iOS Animations by Tutorials v4.0 Source Code (Swift4)

    《iOS Animations by Tutorials v4.0》是针对苹果移动平台iOS的一本教程源代码集,使用Swift4语言编写。这个资源包包含了丰富的动画实现示例,旨在帮助开发者提升在iOS应用中创建动态效果的能力。以下是根据标题、...

    Creating Web Animations epub

    Creating Web Animations 英文epub 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请联系上传者或csdn删除

    Animations 动画展示

    在iOS开发中,Animations(动画)是至关重要的一个部分,它们不仅能够提升用户体验,还能让应用界面更加生动有趣。本文将深入探讨“Animations 动画展示”,特别关注轮播广告的优化以及常用动画界面的实现。 一、...

    iOS.Animations.by.Tutorials.v4.0.1

    ### iOS Animations by Tutorials v4.0.1:核心知识点解析 #### 一、书籍概览 《iOS Animations by Tutorials》第四版是由Marin Todorov编著的一本关于iOS动画开发的专业教程书籍。该书由Razeware LLC出版,并在...

Global site tag (gtag.js) - Google Analytics