Android 动画属性详解

动画

public abstract class Animation
extends Object implements Cloneable

java . lang . object
android.view.animation.Animation
已知的直接子类


抽象的动画,可以应用于视图,表面或其他对象。看到 animation package description file.

总结


嵌套类

interface Animation.AnimationListener

从一个动画动画监听器接收通知。

class Animation.Description

实用程序类来解析一个字符串描述的大小。

XML属性

android:detachWallpaper 特殊选项窗口动画:如果这个窗口的墙纸,不要动画墙纸。
android:duration 动画的时间(以毫秒为单位)。
android:fillAfter 当设置为true时,动画应用在动画结束后转换。
android:fillBefore 当设置为true或当fillEnabled没有设置为true,动画转换应用在动画开始之前。
android:fillEnabled 的值设置为true时,fillBefore考虑。
android:interpolator 定义了内插程序用于平滑的动画运动时间。
android:repeatCount 定义动画应该重复多少次。
android:repeatMode 定义了动画的行为当它到达结束,重复计数大于0或无限。
android:startOffset 延迟毫秒在动画运行之前,一旦开始时间。
android:zAdjustment 允许Z顺序的调整内容的动画动画的持续时间。

常量

int ABSOLUTE

指定的维度是像素的绝对数量。

int INFINITE

无限期重复动画。

int RELATIVE_TO_PARENT

指定的维度是一个浮点数,应该乘以高度或宽度的父对象的动画。

int RELATIVE_TO_SELF

指定的维度是一个浮点数,应该乘以物体的高度或宽度的动画。

int RESTART

当动画达到最终和重复计数是INFINTE_REPEAT或正数,动画从一开始就重启。

int REVERSE

当动画达到最终和重复计数是INFINTE_REPEAT或正数,动画剧本向后(然后再向前)。

int START_ON_FIRST_FRAME

可以作为开始时间显示开始时间应该是当前时间什么时候 getTransformation(long, Transformation)调用第一动画帧。

int ZORDER_BOTTOM

请求的内容动画期间被迫在所有其他内容的动画。

int ZORDER_NORMAL

请求被动画的内容被保存在当前Z顺序。

int ZORDER_TOP

请求的内容动画被迫期间的所有其他内容的动画。

公共构造函数

Animation()

创建一个新的动画的时间0 ms,默认插入器,fillBefore设置为true和fillAfter设置为false

Animation(Context context, AttributeSet attrs)

创建一个新的动画的参数来自指定的上下文和属性组。

公共方法

void cancel()

取消动画。

long computeDurationHint()

计算一个暗示整个动画可能会持续多长时间,以毫秒为单位。

int getBackgroundColor()

返回动画背后的背景颜色。

boolean getDetachWallpaper()

的返回值 setDetachWallpaper(boolean).

long getDuration()

这个动画应该持续多久

boolean getFillAfter()

如果fillAfter是真的,这个动画结束后将其转换时间的动画。

boolean getFillBefore()

如果fillBefore是真的,这个动画的开始时间之前将其转换动画。

Interpolator getInterpolator()

这个动画的加速度曲线类型。

int getRepeatCount()

定义动画应该重复多少次。

int getRepeatMode()

定义了这个动画应该做什么当它到达尽头。

long getStartOffset()

当这个动画应该开始,相对于开始时间

long getStartTime()

当这个动画应该开始。

boolean getTransformation(long currentTime, Transformation outTransformation, float scale)

得到了变换应用在指定的时间点。

boolean getTransformation(long currentTime, Transformation outTransformation)

得到了变换应用在指定的时间点。

int getZAdjustment()

返回时使用Z命令模式运行动画如前所设定的 setZAdjustment(int).

boolean hasEnded()

指示是否这个动画已经结束。

boolean hasStarted()

指示是否这个动画已经开始。

void initialize(int width, int height, int parentWidth, int parentHeight)

初始化这个动画的维度被动画的对象以及对象的父母。

boolean isFillEnabled()

如果fillEnabled是真的,这个动画将fillBefore的价值。

boolean isInitialized()

动画是否已经初始化。

void reset()

重置这个动画的初始化状态。

void restrictDuration(long durationMillis)

确保这个动画的持续时间将不超过运行 durationMillis.

void scaleCurrentDuration(float scale)

多少规模的持续时间。

void setAnimationListener(Animation.AnimationListener listener)

结合这个动画的动画侦听器。

void setBackgroundColor(int bg)

设置动画背后的背景。

void setDetachWallpaper(boolean detachWallpaper)

如果detachWallpaper是真的,这是一个窗口动画壁纸背景的一个窗口,窗口会脱离墙纸,它运行。

void setDuration(long durationMillis)

这个动画应该持续多久。

void setFillAfter(boolean fillAfter)

如果fillAfter是真的,这个动画的转换完成时将持续执行。

void setFillBefore(boolean fillBefore)

如果fillBefore是真的,这个动画的开始时间之前将其转换动画。

void setFillEnabled(boolean fillEnabled)

如果fillEnabled是真的,动画将fillBefore的价值。

void setInterpolator(Context context, int resID)

这个动画设置加速度曲线。

void setInterpolator(Interpolator i)

这个动画设置加速度曲线。

void setRepeatCount(int repeatCount)

集动画应该重复多少次。

void setRepeatMode(int repeatMode)

定义了这个动画应该做什么当它到达尽头。

void setStartOffset(long startOffset)

当这个动画应该相对于开始时间。

void setStartTime(long startTimeMillis)

当这个动画应该开始。

void setZAdjustment(int zAdjustment)

设置Z命令模式在运行时使用动画。

void start()

便利方法第一次启动动画 getTransformation(long, Transformation)被调用。

void startNow()

便利方法启动动画以毫秒为单位的当前时间。

boolean willChangeBounds()

指示是否这个动画的范围会影响动画视图。

boolean willChangeTransformationMatrix()

指示是否这个动画会影响变换矩阵。

受保护的方法

void applyTransformation(float interpolatedTime, Transformation t)

getTransformation助手。

Animation clone()

创建并返回此对象的一个副本。

void ensureInterpolator()

保障这动画插入器。

void finalize()

被垃圾收集器在对象的垃圾收集确定没有其他对象的引用。

float getScaleFactor()

比例系数设定的电话 getTransformation.

float resolveSize(int type, float value, int size, int parentSize)

大小的描述中的信息转换为一个实际的维度

继承的方法

从类 java.lang.Object

XML属性


android:detachWallpaper

特殊选项窗口动画:如果这个窗口的墙纸,不要动画墙纸。

可能是一个布尔值,如“true”或“false".

相关的方法:

  • setDetachWallpaper(布尔)

android:持续时间

动画的时间(以毫秒为单位)。

可能是一个整数值,如“100".

相关的方法:

  • setDuration(长)

android:fillAfter

当设置为true时,动画应用在动画结束后转换。默认值是错误的。如果不设置为true fillEnabled动画并不是设置在一个视图中,fillAfter被认为是真实的。

可能是一个布尔值,如“true”或“false".

相关的方法:

  • setFillAfter(布尔)

android:fillBefore

当设置为true或当fillEnabled没有设置为true,动画转换应用在动画开始之前。默认值是正确的。

可能是一个布尔值,如“true”或“false".

相关的方法:

  • setFillBefore(布尔)

android:fillEnabled

的值设置为true时,fillBefore考虑。

可能是一个布尔值,如“true”或“false".

相关的方法:

  • setFillEnabled(布尔)

android:插入器

定义了内插程序用于平滑的动画运动时间。

可能对另一个资源的引用,以“@[+][包:]/类型的名字“形式或一个主题属性”?包:类型/的名字".

相关的方法:

  • setInterpolator(插入器)

android:repeatCount

定义动画应该重复多少次。默认值是0。

可能是一个整数值,如“100".

必须的一个常量值。

常数 价值 描述
无限 ffffffff  

相关的方法:

  • setRepeatCount(int)

android:repeatMode

定义了动画的行为当它到达结束,重复计数大于0或无限。默认值是重启。

必须的一个常量值。

常数 价值 描述
重新启动 1 动画从一开始就重新开始。
反向 2 动画中落后。

相关的方法:

  • setRepeatMode(int)

android:startOffset

延迟毫秒在动画运行之前,一旦开始时间。

可能是一个整数值,如“100".

相关的方法:

  • setStartOffset(长)

android:zAdjustment

允许Z顺序的调整内容的动画动画的持续时间。默认值是正常的。

必须的一个常量值。

常数 价值 描述
ffffffff 动画的内容是被迫在所有其他内容动画的持续时间。
正常的 0 动画的内容被保存在当前Z顺序。
1 动画的内容是强迫的所有其他内容动画的持续时间。

相关的方法:

  • setZAdjustment(int)

常量


绝对

添加到 API级别1
int ABSOLUTE

指定的维度是像素的绝对数量。

常量值:0(0 x00000000)

无限

添加到 API级别1
int INFINITE

无限期重复动画。

常数的值:1(0 xffffffff)

RELATIVE_TO_PARENT

添加到 API级别1
int RELATIVE_TO_PARENT

指定的维度是一个浮点数,应该乘以高度或宽度的父对象的动画。

常数的值:2(0 x00000002)

RELATIVE_TO_SELF

添加到 API级别1
int RELATIVE_TO_SELF

指定的维度是一个浮点数,应该乘以物体的高度或宽度的动画。

常数的值:1(0 x00000001)

重新启动

添加到 API级别1
int RESTART

当动画达到最终和重复计数是INFINTE_REPEAT或正数,动画从一开始就重启。

常数的值:1(0 x00000001)

反向

添加到 API级别1
int REVERSE

当动画达到最终和重复计数是INFINTE_REPEAT或正数,动画剧本向后(然后再向前)。

常数的值:2(0 x00000002)

START_ON_FIRST_FRAME

添加到 API级别1
int START_ON_FIRST_FRAME

可以作为开始时间显示开始时间应该是当前时间什么时候 getTransformation(long, Transformation)调用第一动画帧。这可能是有用的在短动画。

常数的值:1(0 xffffffff)

ZORDER_BOTTOM

添加到 API级别1
int ZORDER_BOTTOM

请求的内容动画期间被迫在所有其他内容的动画。

常数的值:1(0 xffffffff)

ZORDER_NORMAL

添加到 API级别1
int ZORDER_NORMAL

请求被动画的内容被保存在当前Z顺序。

常量值:0(0 x00000000)

ZORDER_TOP

添加到 API级别1
int ZORDER_TOP

请求的内容动画被迫期间的所有其他内容的动画。

常数的值:1(0 x00000001)

公共构造函数


动画

添加到 API级别1
Animation ()

创建一个新的动画的时间0 ms,默认插入器,fillBefore设置为true和fillAfter设置为false

动画

添加到 API级别1
Animation (Context context, 
                AttributeSet attrs)

创建一个新的动画的参数来自指定的上下文和属性组。

参数
context Context:应用程序环境
attrs AttributeSet:属性的动画参数集

公共方法


取消

添加到 API级别8
void cancel ()

取消动画。取消动画动画调用侦听器,如果设置,通知的动画。如果你手动取消一个动画,你必须打电话 reset()在动画开始前。

参见:

  • reset()
  • start()
  • startNow()

computeDurationHint

添加到 API级别3
long computeDurationHint ()

计算一个暗示整个动画可能会持续多长时间,以毫秒为单位。动画可以写导致自己运行不同的持续时间比计算,但是通常这应该是准确的。

返回
long  

getBackgroundColor

添加到 API级别12
int getBackgroundColor ()

返回动画背后的背景颜色。

返回
int  

getDetachWallpaper

添加到 API 5级
boolean getDetachWallpaper ()

的返回值 setDetachWallpaper(boolean).

相关的XML属性:

  • android:detachWallpaper
返回
boolean  

getDuration

添加到 API级别1
long getDuration ()

这个动画应该持续多久

相关的XML属性:

  • android:持续时间
返回
long 时间以毫秒为单位的动画

getFillAfter

添加到 API级别1
boolean getFillAfter ()

如果fillAfter是真的,这个动画结束后将其转换时间的动画。

相关的XML属性:

  • android:fillAfter
返回
boolean 如果动画应用转型后结束

getFillBefore

添加到 API级别1
boolean getFillBefore ()

如果fillBefore是真的,这个动画的开始时间之前将其转换动画。如果fillBefore是假的 fillEnabled是真的,转换不会应用到动画的开始时间。

相关的XML属性:

  • android:fillBefore
返回
boolean 如果动画应用转型之前就开始了

getInterpolator

添加到 API级别1
Interpolator getInterpolator ()

这个动画的加速度曲线类型。

相关的XML属性:

  • android:插入器
返回
Interpolator  Interpolator关联到这个动画

getRepeatCount

添加到 API级别1
int getRepeatCount ()

定义动画应该重复多少次。默认值是0。

相关的XML属性:

  • android:repeatCount
返回
int 动画应该重复的次数,或者 INFINITE

getRepeatMode

添加到 API级别1
int getRepeatMode ()

定义了这个动画应该做什么当它到达尽头。

相关的XML属性:

  • android:repeatMode
返回
int 任何一个的 REVERSE RESTART

getStartOffset

添加到 API级别1
long getStartOffset ()

当这个动画应该开始,相对于开始时间

相关的XML属性:

  • android:startOffset
返回
long 一开始抵消以毫秒为单位

getStartTime

添加到 API级别1
long getStartTime ()

当这个动画应该开始。如果动画尚未startet,这种方法可能会返回 START_ON_FIRST_FRAME.

返回
long 以毫秒为单位的时间当动画应该开始或 START_ON_FIRST_FRAME

getTransformation

添加到 API级别11
boolean getTransformation (long currentTime, 
                Transformation outTransformation, 
                float scale)

得到了变换应用在指定的时间点。这个方法的实现应该替换指定的转换或文档他们做。

参数
currentTime long:我们在动画。这是挂钟时间。
outTransformation Transformation:一个转换对象是由调用者提供的动画,并将填写。
scale float:适用于任何比例因子转换的输入操作,这样的枢轴点被旋转或缩放。
返回
boolean 如果动画仍在运行

getTransformation

添加到 API级别1
boolean getTransformation (long currentTime, 
                Transformation outTransformation)

得到了变换应用在指定的时间点。这个方法的实现应该替换指定的转换或文档他们做。

参数
currentTime long:我们在动画。这是挂钟时间。
outTransformation Transformation:一个转换对象是由调用者提供的动画,并将填写。
返回
boolean 如果动画仍在运行

getZAdjustment

添加到 API级别1
int getZAdjustment ()

返回时使用Z命令模式运行动画如前所设定的 setZAdjustment(int).

相关的XML属性:

  • android:zAdjustment
返回
int 返回一个 ZORDER_NORMAL, ZORDER_TOP,或 ZORDER_BOTTOM.

hasEnded

添加到 API级别1
boolean hasEnded ()

指示是否这个动画已经结束。

返回
boolean 如果动画已经结束,否则假

hasStarted

添加到 API级别1
boolean hasStarted ()

指示是否这个动画已经开始。

返回
boolean 如果动画已经开始,否则假

初始化

添加到 API级别1
void initialize (int width, 
                int height, 
                int parentWidth, 
                int parentHeight)

初始化这个动画的维度被动画的对象以及对象的父母。(这是支持动画大小相对于这些维度被指定。)

解释的对象动画时应该调用这个方法被动画的对象的大小和它的父母都知道,在调用之前 getTransformation(long, Transformation).

参数
width int:被动画的对象的宽度
height int:被动画的对象的高度
parentWidth int:动画对象的父的宽度
parentHeight int:高度的动画对象的父母

isFillEnabled

添加到 API级别3
boolean isFillEnabled ()

如果fillEnabled是真的,这个动画将fillBefore的价值。

相关的XML属性:

  • android:fillEnabled
返回
boolean 真正的动画是否会考虑fillBefore

isInitialized

添加到 API级别1
boolean isInitialized ()

动画是否已经初始化。

返回
boolean 这个动画被初始化。

参见:

  • initialize(int, int, int, int)

重置

添加到 API级别1
void reset ()

重置这个动画的初始化状态。

参见:

  • initialize(int, int, int, int)

restrictDuration

添加到 API级别1
void restrictDuration (long durationMillis)

确保这个动画的持续时间将不超过运行 durationMillis。除了调整时间本身,这确保了重复计数也不会让它运行超过给定的时间。

参数
durationMillis long:动画是允许的最长期限。

scaleCurrentDuration

添加到 API级别1
void scaleCurrentDuration (float scale)

多少规模的持续时间。

参数
scale float:数量规模持续时间。

setAnimationListener

添加到 API级别1
void setAnimationListener (Animation.AnimationListener listener)

结合这个动画的动画侦听器。动画的动画侦听器通知等事件的结束动画或动画的重复。

参数
listener Animation.AnimationListener通知:动画侦听器

setBackgroundColor

添加到 API级别12
void setBackgroundColor (int bg)

设置动画背后的背景。

参数
bg int:背景颜色。如果0,没有背景。目前必须是黑色的,任何想要的α水平。

setDetachWallpaper

添加到 API 5级
void setDetachWallpaper (boolean detachWallpaper)

如果detachWallpaper是真的,这是一个窗口动画壁纸背景的一个窗口,窗口会脱离墙纸,它运行。即动画只会被应用到窗口,和它背后的壁纸将保持不变。

相关的XML属性:

  • android:detachWallpaper
参数
detachWallpaper boolean:真如果壁纸应该脱离动画

setDuration

添加到 API级别1
void setDuration (long durationMillis)

这个动画应该持续多久。时间不能是负数。

相关的XML属性:

  • android:持续时间
参数
durationMillis long:持续时间以毫秒为单位
抛出
IllegalArgumentException 如果时间< 0

setFillAfter

添加到 API级别1
void setFillAfter (boolean fillAfter)

如果fillAfter是真的,这个动画的转换完成时将持续执行。默认为错误的如果不设置。请注意,这适用于个人动画和在使用 AnimationSet链的动画。

相关的XML属性:

  • android:fillAfter
参数
fillAfter boolean:真如果动画应适用其变换后结束

参见:

  • setFillEnabled(boolean)

setFillBefore

添加到 API级别1
void setFillBefore (boolean fillBefore)

如果fillBefore是真的,这个动画的开始时间之前将其转换动画。默认值为true,如果 setFillEnabled(boolean)没有设置为true。注意,这适用于使用一个AnimationSet链的动画。转换之前不应用AnimationSet本身开始。

相关的XML属性:

  • android:fillBefore
参数
fillBefore boolean:真如果动画应适用其变换之前开始

参见:

  • setFillEnabled(boolean)

setFillEnabled

添加到 API级别3
void setFillEnabled (boolean fillEnabled)

如果fillEnabled是真的,动画将fillBefore的价值。否则,fillBefore被忽略和动画转换总是应用在动画结束。

相关的XML属性:

  • android:fillEnabled
参数
fillEnabled boolean:真正的动画是否应该考虑fillBefore的价值

参见:

  • setFillBefore(boolean)
  • setFillAfter(boolean)

setInterpolator

添加到 API级别1
void setInterpolator (Context context, 
                int resID)

这个动画设置加速度曲线。插入器加载的资源从指定的上下文。

相关的XML属性:

  • android:插入器
参数
context Context:应用程序环境
resID int:插入器加载的资源标识符

setInterpolator

添加到 API级别1
void setInterpolator (Interpolator i)

这个动画设置加速度曲线。默认为一个线性插值。

相关的XML属性:

  • android:插入器
参数
i Interpolator:插入器定义了加速度曲线

setRepeatCount

添加到 API级别1
void setRepeatCount (int repeatCount)

集动画应该重复多少次。如果重复计数为0,动画不会重复。如果重复计数大于0 INFINITE,重复模式将被考虑。默认情况下重复计数为0。

相关的XML属性:

  • android:repeatCount
参数
repeatCount int:动画的次数应该重复

setRepeatMode

添加到 API级别1
void setRepeatMode (int repeatMode)

定义了这个动画应该做什么当它到达尽头。此设置仅适用于当大于0或重复计数 INFINITE。默认为 RESTART.

相关的XML属性:

  • android:repeatMode
参数
repeatMode int: RESTART REVERSE

setStartOffset

添加到 API级别1
void setStartOffset (long startOffset)

当这个动画应该相对于开始时间。这是最有用的,当组合使用一个复杂的动画 AnimationSet一些动画组件在不同的时间开始。

相关的XML属性:

  • android:startOffset
参数
startOffset long:这个动画应该开始时,从一开始就以毫秒为单位的时间根AnimationSet。

setStartTime

添加到 API级别1
void setStartTime (long startTimeMillis)

当这个动画应该开始。当开始时间设置 START_ON_FIRST_FRAME第一次,动画将开始 getTransformation(long, Transformation)被调用。传递给这个方法的时间应该得到调用 currentAnimationTimeMillis()而不是 currentTimeMillis().

参数
startTimeMillis long:开始时间,以毫秒为单位

setZAdjustment

添加到 API级别1
void setZAdjustment (int zAdjustment)

设置Z命令模式在运行时使用动画。

相关的XML属性:

  • android:zAdjustment
参数
zAdjustment int:所需的模式之一 ZORDER_NORMAL, ZORDER_TOP,或 ZORDER_BOTTOM.

开始

添加到

你可能感兴趣的:(Android 动画属性详解)