Animations
Android支持2种类型的动画。内插动画可以应用于旋转、平移、放缩和渐变;frame-by-frame动画用来显示一系列的图片。关于创建、使用和应用动画的广泛概述可以在11章找到。
把动画定义成外部资源,有利于在多个地方使用,并且能基于设备硬件或方向选择适应的动画。
Tweened Animations
每个内插动画以独立的XML文件存储在/res/anim文件夹下。和layouts和drawable资源一样,动画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>
分享到:
相关推荐
compile 'com.github.AndroidSnippet:Animations:' } Usage Fingerprint isolated animation 設置 -> 安全性 -> 指紋 -> 新增指紋 中間的指紋圖標動畫 來自 platform_packages_apps_settings/...
Android-android_additive_animations.zip,Android附加动画!,安卓系统是谷歌在2008年设计和制造的。操作系统主要写在爪哇,C和C 的核心组件。它是在linux内核之上构建的,具有安全性优势。
<set xmlns:android="http://schemas.android.com/apk/res/android"> android:fromAlpha="0.1" android:toAlpha="1.0" android:duration="3000"/> <!-- 透明度变化效果:fromAlpha表示起始透明度,toAlpha...
1. **视图动画框架**:Android 3.0引入了一个新的动画框架,它允许开发者通过XML或Java代码定义动画序列。可以通过`<set>`标签将多个动画组合在一起,实现复杂的动画效果。 2. **动画控制器**:动画控制器...
"Android-animations"是一个专为Android系统设计的动画库,它包含了丰富的动画效果,能够帮助开发者轻松实现各种复杂的界面转换和元素交互。其中,"nineoldandroids"是一个非常关键的部分,它是专门为兼容Android ...
`animate(withDuration:animations:)`和`animate(withDuration:delay:options:animations:completion:)`都有对应的版本可以处理动画组,如`animate(withDuration:delay:options:animations:completion:)`的`...
本文实例讲述了Android开发之Animations动画用法。分享给大家供大家参考,具体如下: 一、动画类型 Android的animation由四种类型组成:alpha、scale、translate、rotate XML配置文件中 alpha 渐变透明度...
<translate xmlns:android="http://schemas.android.com/apk/res/android" android:fromXDelta="0%" android:toXDelta="100%" android:fromYDelta="0%" android:toYDelta="0%" android:duration="1000" /> ``` ...
4. **动画配置**:使用`UIView`的`animateKeyframesWithDuration:delay:options:animations:completion:`方法,创建一个关键帧动画。在动画序列中,逐步改变`CAShapeLayer`的`strokeEnd`属性,模拟笔触从无到有的...
For making animations more real, I created another project named Android Easing Functions which is an implementations of easing functions on Android. So, we need to dependent that project. Step 1 ...
1. **过渡效果**:Android Studio登录界面的过渡效果主要体现在页面滑动、淡入淡出和缩放等。在Swift中,可以使用UIViewController的transition(with:duration:options:animations:completion:)方法或者...
### Android 3.0 Animations – 初学者指南 #### 一、概述 《Android 3.0 Animations – 初学者指南》是一本专为Android开发者编写的书籍,主要聚焦于如何通过动画效果增强应用程序的用户体验。本书由Alex Shaw...
Android-SpinKit >Android loading animations(I ... compile 'com.github.ybq:Android-SpinKit:1.1.0' } Usage Xml ProgressBar ProgressBar progressBar = (ProgressBar)findViewById(R.id.progress); DoubleBo
Material-Animations是专门为Android平台设计的一款开源项目,它致力于实现Material Design规范中的各种动画效果,使得开发者可以轻松地在自己的应用中添加生动、流畅的过渡动画。 项目的核心目标是提供Activity...
RxAnimations is a library with the main goal to make android animations more solid and cohesive. Download compile 'oxim.digital:rx2anim:0.9.1' compile 'io.reactivex.rxjava2:rxandroid:2.0.1' ...
### Android 3.0 Animations Beginner's Guide #### 核心知识点概览 - **动画在Android中的重要性** - **Android 3.0的新特性及其对动画的支持** - **基本动画类型及其应用场景** - **高级动画技术及其实现方法** ...
本文实例讲述了Android编程之Animation动画用法。...1.Tweened Animations:该类Animations提供了旋转、移动、伸展和淡出等效果。Alpha——淡入淡出,Scale——缩放效果,Rotate——旋转,Translat
同时执行多个动画可以通过嵌套`animate(withDuration:animations:)`块,或者使用`animate(withDuration:delay:options:animations:completion:)`中的`options`参数来实现。例如: ```swift UIView.animate...
"android官网demo之animations.zip"是一个包含官方示例的压缩包,旨在帮助开发者更好地理解和应用Android平台上的动画技术。这个压缩包中的" animations.zip "文件,可能是将官方的动画示例项目整理成了适合Eclipse ...
介绍UIView.animateWithDuration:animations:确实易于使用,并且您对它的语法非常熟悉,以至于您经常希望它自动为您做更多的事情。 但事实并非如此,您需要导入Beginner Ninja Coder的Bloated.framework才能制作比...