Most visited

Recently visited

Added in API level 12

ViewPropertyAnimator

public class ViewPropertyAnimator
extends Object

java.lang.Object
   ↳ android.view.ViewPropertyAnimator


此类可以在View对象上自动优化动画选择属性。 如果View对象上只有一个或两个属性被设置为动画,则使用ObjectAnimator ; ObjectAnimator调用的属性设置器能够正确地设置属性并使视图无效。 但是,如果多个属性同时动画,或者如果你只是想要一个更方便的语法来动画一个特定的属性,那么ViewPropertyAnimator可能更适合这个任务。

这个类可以为几个同时动画提供更好的性能,因为它将优化无效调用,使其只针对多个属性进行一次,而不是每个动画属性独立地导致其自身失效。 另外,使用这个类的语法可能更容易使用,因为调用者只需要告诉View对象要动画的属性,以及要动画的值或者动画的值,并且该类处理配置底层Animator类的细节,以及开始吧。

这个类不是由调用者构造的,而是由视图的属性来动画的。 调用animate()将返回对该视图的相应ViewPropertyAnimator对象的引用。

Summary

Public methods

ViewPropertyAnimator alpha(float value)

此方法将使View的 alpha属性动画成指定值。

ViewPropertyAnimator alphaBy(float value)

此方法将使视图的 alpha属性通过指定的值进行动画。

void cancel()

取消当前正在运行或挂起的所有属性动画。

long getDuration()

返回属性动画的当前持续时间。

TimeInterpolator getInterpolator()

返回此动画使用的定时插补器。

long getStartDelay()

返回属性动画的当前startDelay。

ViewPropertyAnimator rotation(float value)

此方法将使视图的 rotation属性动画成指定值。

ViewPropertyAnimator rotationBy(float value)

此方法将使View的 rotation属性通过指定的值进行动画。

ViewPropertyAnimator rotationX(float value)

此方法将使View的 rotationX属性动画成指定值。

ViewPropertyAnimator rotationXBy(float value)

此方法将使View的 rotationX属性通过指定的值进行动画处理。

ViewPropertyAnimator rotationY(float value)

此方法将导致View的 rotationY属性被动画化为指定的值。

ViewPropertyAnimator rotationYBy(float value)

此方法将使视图的 rotationY属性通过指定的值进行动画处理。

ViewPropertyAnimator scaleX(float value)

此方法将使View的 scaleX属性动画成指定值。

ViewPropertyAnimator scaleXBy(float value)

此方法将使View的 scaleX属性通过指定的值进行动画。

ViewPropertyAnimator scaleY(float value)

此方法将使View的 scaleY属性动画成指定值。

ViewPropertyAnimator scaleYBy(float value)

此方法将使View的 scaleY属性通过指定的值进行动画。

ViewPropertyAnimator setDuration(long duration)

为动画所请求的属性的底层动画设置持续时间。

ViewPropertyAnimator setInterpolator(TimeInterpolator interpolator)

为动画所需属性的底层动画设置插补器。

ViewPropertyAnimator setListener(Animator.AnimatorListener listener)

为运行属性动画的基础动画设置器中的事件设置侦听器。

ViewPropertyAnimator setStartDelay(long startDelay)

为动画所请求的属性的底层动画设置startDelay。

ViewPropertyAnimator setUpdateListener(ValueAnimator.AnimatorUpdateListener listener)

为运行属性动画的底层ValueAnimator中的更新事件设置侦听器。

void start()

立即开始当前未决的属性动画。

ViewPropertyAnimator translationX(float value)

此方法将使视图的 translationX属性动画成指定值。

ViewPropertyAnimator translationXBy(float value)

此方法将使View的 translationX属性通过指定的值进行动画处理。

ViewPropertyAnimator translationY(float value)

此方法将使视图的 translationY属性动画成指定值。

ViewPropertyAnimator translationYBy(float value)

此方法将使视图的 translationY属性通过指定的值进行动画。

ViewPropertyAnimator translationZ(float value)

此方法将使View的 translationZ属性动画为指定的值。

ViewPropertyAnimator translationZBy(float value)

此方法将使View的 translationZ属性通过指定的值进行动画。

ViewPropertyAnimator withEndAction(Runnable runnable)

指定下一个动画结束时要执行的操作。

ViewPropertyAnimator withLayer()

与此ViewPropertyAnimator关联的视图将在下一个动画期间将其 layer type设置为 LAYER_TYPE_HARDWARE

ViewPropertyAnimator withStartAction(Runnable runnable)

指定下一个动画运行时发生的操作。

ViewPropertyAnimator x(float value)

此方法将导致视图的 x属性被设置为指定值。

ViewPropertyAnimator xBy(float value)

此方法将使视图的 x属性通过指定的值进行动画。

ViewPropertyAnimator y(float value)

此方法将使视图的 y属性动画为指定的值。

ViewPropertyAnimator yBy(float value)

此方法将使View的 y属性通过指定的值进行动画处理。

ViewPropertyAnimator z(float value)

此方法将使视图的 z属性动画成指定值。

ViewPropertyAnimator zBy(float value)

此方法将使View的 z属性通过指定的值进行动画。

Inherited methods

From class java.lang.Object

Public methods

alpha

Added in API level 12
ViewPropertyAnimator alpha (float value)

此方法将使视图的alpha属性动画到指定的值。 已经在该属性上运行的动画将被取消。

Parameters
value float: The value to be animated to.
Returns
ViewPropertyAnimator This object, allowing calls to methods in this class to be chained.

也可以看看:

alphaBy

Added in API level 12
ViewPropertyAnimator alphaBy (float value)

此方法将使View的alpha属性通过指定的值进行动画。 已经在该属性上运行的动画将被取消。

Parameters
value float: The amount to be animated by, as an offset from the current value.
Returns
ViewPropertyAnimator This object, allowing calls to methods in this class to be chained.

也可以看看:

cancel

Added in API level 14
void cancel ()

取消当前正在运行或挂起的所有属性动画。

getDuration

Added in API level 14
long getDuration ()

返回属性动画的当前持续时间。 如果持续时间在此对象上设置,则返回该值。 否则,返回底层动画的默认值。

Returns
long The duration of animations, in milliseconds.

也可以看看:

getInterpolator

Added in API level 18
TimeInterpolator getInterpolator ()

返回此动画使用的定时插补器。

Returns
TimeInterpolator The timing interpolator for this animation.

getStartDelay

Added in API level 14
long getStartDelay ()

返回属性动画的当前startDelay。 如果在此对象上设置了startDelay,则返回该值。 否则,返回底层动画的默认值。

Returns
long The startDelay of animations, in milliseconds.

也可以看看:

rotation

Added in API level 12
ViewPropertyAnimator rotation (float value)

此方法将导致View的rotation属性被动画为指定的值。 已经在该属性上运行的动画将被取消。

Parameters
value float: The value to be animated to.
Returns
ViewPropertyAnimator This object, allowing calls to methods in this class to be chained.

也可以看看:

rotationBy

Added in API level 12
ViewPropertyAnimator rotationBy (float value)

此方法将使View的rotation属性通过指定的值进行动画。 已经在该属性上运行的动画将被取消。

Parameters
value float: The amount to be animated by, as an offset from the current value.
Returns
ViewPropertyAnimator This object, allowing calls to methods in this class to be chained.

也可以看看:

rotationX

Added in API level 12
ViewPropertyAnimator rotationX (float value)

此方法将使View的rotationX属性动画成指定值。 已经在该属性上运行的动画将被取消。

Parameters
value float: The value to be animated to.
Returns
ViewPropertyAnimator This object, allowing calls to methods in this class to be chained.

也可以看看:

rotationXBy

Added in API level 12
ViewPropertyAnimator rotationXBy (float value)

此方法将使视图的rotationX属性通过指定的值进行动画。 已经在该属性上运行的动画将被取消。

Parameters
value float: The amount to be animated by, as an offset from the current value.
Returns
ViewPropertyAnimator This object, allowing calls to methods in this class to be chained.

也可以看看:

rotationY

Added in API level 12
ViewPropertyAnimator rotationY (float value)

此方法将使View的rotationY属性动画成指定值。 已经在该属性上运行的动画将被取消。

Parameters
value float: The value to be animated to.
Returns
ViewPropertyAnimator This object, allowing calls to methods in this class to be chained.

也可以看看:

rotationYBy

Added in API level 12
ViewPropertyAnimator rotationYBy (float value)

此方法将使视图的rotationY属性通过指定的值进行动画处理。 已经在该属性上运行的动画将被取消。

Parameters
value float: The amount to be animated by, as an offset from the current value.
Returns
ViewPropertyAnimator This object, allowing calls to methods in this class to be chained.

也可以看看:

scaleX

Added in API level 12
ViewPropertyAnimator scaleX (float value)

此方法将使视图的scaleX属性动画成指定值。 已经在该属性上运行的动画将被取消。

Parameters
value float: The value to be animated to.
Returns
ViewPropertyAnimator This object, allowing calls to methods in this class to be chained.

也可以看看:

scaleXBy

Added in API level 12
ViewPropertyAnimator scaleXBy (float value)

此方法将使View的scaleX属性通过指定的值进行动画处理。 已经在该属性上运行的动画将被取消。

Parameters
value float: The amount to be animated by, as an offset from the current value.
Returns
ViewPropertyAnimator This object, allowing calls to methods in this class to be chained.

也可以看看:

scaleY

Added in API level 12
ViewPropertyAnimator scaleY (float value)

此方法将使View的scaleY属性动画成指定值。 已经在该属性上运行的动画将被取消。

Parameters
value float: The value to be animated to.
Returns
ViewPropertyAnimator This object, allowing calls to methods in this class to be chained.

也可以看看:

scaleYBy

Added in API level 12
ViewPropertyAnimator scaleYBy (float value)

此方法将使View的scaleY属性通过指定的值进行动画。 已经在该属性上运行的动画将被取消。

Parameters
value float: The amount to be animated by, as an offset from the current value.
Returns
ViewPropertyAnimator This object, allowing calls to methods in this class to be chained.

也可以看看:

setDuration

Added in API level 12
ViewPropertyAnimator setDuration (long duration)

为动画所请求的属性的底层动画设置持续时间。 默认情况下,动画师使用ValueAnimator的默认值。 调用此方法将导致声明的值被使用。

Parameters
duration long: The length of ensuing property animations, in milliseconds. The value cannot be negative.
Returns
ViewPropertyAnimator This object, allowing calls to methods in this class to be chained.

setInterpolator

Added in API level 12
ViewPropertyAnimator setInterpolator (TimeInterpolator interpolator)

为动画所需属性的底层动画设置插补器。 默认情况下,动画制作工具使用ValueAnimator的默认插补器。 调用此方法将导致声明的对象被使用。

Parameters
interpolator TimeInterpolator: The TimeInterpolator to be used for ensuing property animations. A value of null will result in linear interpolation.
Returns
ViewPropertyAnimator This object, allowing calls to methods in this class to be chained.

setListener

Added in API level 12
ViewPropertyAnimator setListener (Animator.AnimatorListener listener)

为运行属性动画的基础动画设置器中的事件设置侦听器。

Parameters
listener Animator.AnimatorListener: The listener to be called with AnimatorListener events. A value of null removes any existing listener.
Returns
ViewPropertyAnimator This object, allowing calls to methods in this class to be chained.

也可以看看:

setStartDelay

Added in API level 14
ViewPropertyAnimator setStartDelay (long startDelay)

为动画所请求的属性的底层动画设置startDelay。 默认情况下,动画师使用ValueAnimator的默认值。 调用此方法将导致声明的值被使用。

Parameters
startDelay long: The delay of ensuing property animations, in milliseconds. The value cannot be negative.
Returns
ViewPropertyAnimator This object, allowing calls to methods in this class to be chained.

setUpdateListener

Added in API level 19
ViewPropertyAnimator setUpdateListener (ValueAnimator.AnimatorUpdateListener listener)

为运行属性动画的底层ValueAnimator中的更新事件设置侦听器。 请注意,底层的动画制作器在0和1之间进行动画制作(这些值然后由ViewPropertyAnimator内部转换为实际属性值)。 所以动画师不能提供有关由ViewPropertyAnimator动画的属性的当前值的信息,尽管可以查询视图对象本身以获取当前值。

Parameters
listener ValueAnimator.AnimatorUpdateListener: The listener to be called with update events. A value of null removes any existing listener.
Returns
ViewPropertyAnimator This object, allowing calls to methods in this class to be chained.

也可以看看:

start

Added in API level 14
void start ()

立即开始当前未决的属性动画。 调用start()是可选的,因为所有动画在下一次机会时自动启动。 但是,如果动画需要立即同步启动(而不是在层次结构处理下一个事件时(即动画以其他方式开始时),则可以使用此方法。

translationX

Added in API level 12
ViewPropertyAnimator translationX (float value)

此方法将导致视图的translationX属性被动画化为指定的值。 已经在该属性上运行的动画将被取消。

Parameters
value float: The value to be animated to.
Returns
ViewPropertyAnimator This object, allowing calls to methods in this class to be chained.

也可以看看:

translationXBy

Added in API level 12
ViewPropertyAnimator translationXBy (float value)

此方法将使View的translationX属性通过指定的值进行动画。 已经在该属性上运行的动画将被取消。

Parameters
value float: The amount to be animated by, as an offset from the current value.
Returns
ViewPropertyAnimator This object, allowing calls to methods in this class to be chained.

也可以看看:

translationY

Added in API level 12
ViewPropertyAnimator translationY (float value)

此方法将使视图的translationY属性动画为指定的值。 已经在该属性上运行的动画将被取消。

Parameters
value float: The value to be animated to.
Returns
ViewPropertyAnimator This object, allowing calls to methods in this class to be chained.

也可以看看:

translationYBy

Added in API level 12
ViewPropertyAnimator translationYBy (float value)

此方法将使View的translationY属性通过指定的值进行动画。 已经在该属性上运行的动画将被取消。

Parameters
value float: The amount to be animated by, as an offset from the current value.
Returns
ViewPropertyAnimator This object, allowing calls to methods in this class to be chained.

也可以看看:

translationZ

Added in API level 21
ViewPropertyAnimator translationZ (float value)

此方法将使View的translationZ属性动画化为指定的值。 已经在该属性上运行的动画将被取消。

Parameters
value float: The value to be animated to.
Returns
ViewPropertyAnimator This object, allowing calls to methods in this class to be chained.

也可以看看:

translationZBy

Added in API level 21
ViewPropertyAnimator translationZBy (float value)

此方法将使View的translationZ属性通过指定的值进行动画。 已经在该属性上运行的动画将被取消。

Parameters
value float: The amount to be animated by, as an offset from the current value.
Returns
ViewPropertyAnimator This object, allowing calls to methods in this class to be chained.

也可以看看:

withEndAction

Added in API level 16
ViewPropertyAnimator withEndAction (Runnable runnable)

指定下一个动画结束时要执行的操作。 该动作仅在动画正常结束时才运行; 如果在该动画中取消ViewPropertyAnimator,则可运行的程序将不会运行。 此方法与withStartAction(Runnable)一起用于帮助在应用程序中使用其他动画或动作来编排ViewPropertyAnimator动画。

例如,以下代码将视图动画化为x = 200,然后返回0:

     Runnable endAction = new Runnable() {
         public void run() {
             view.animate().x(0);
         }
     };
     view.animate().x(200).withEndAction(endAction);
 

Parameters
runnable Runnable: The action to run when the next animation ends.
Returns
ViewPropertyAnimator This object, allowing calls to methods in this class to be chained.

withLayer

Added in API level 16
ViewPropertyAnimator withLayer ()

与此ViewPropertyAnimator相关联的视图将在下一个动画期间将其layer type设置为LAYER_TYPE_HARDWARE 正如在LAYER_TYPE_HARDWARE的文档中LAYER_TYPE_HARDWARE ,内部使用的图层的实际类型取决于视图的运行时情况。 如果活动和这个视图是硬件加速的,那么图层也会加速。 如果活动或视图未加速,则图层实际上与LAYER_TYPE_SOFTWARE相同。

该状态不是持久的,无论是在视图还是在ViewPropertyAnimator上:视图的图层类型将在动画结束时调用此方法时恢复,而ViewPropertyAnimator上的此设置仅对下一个动画有效。 请注意,调用此方法,然后独立设置视图的图层类型(通过直接调用setLayerType(int, android.graphics.Paint) )将导致一些不一致,包括在动画结束时将图层类型恢复为其之前的Layer()值。

Returns
ViewPropertyAnimator This object, allowing calls to methods in this class to be chained.

也可以看看:

withStartAction

Added in API level 16
ViewPropertyAnimator withStartAction (Runnable runnable)

指定下一个动画运行时发生的操作。 如果有一个startDelay集在这个ViewPropertyAnimator,那么行动将运行后startDelay所占用的到期,实际动画开始时。 此方法与withEndAction(Runnable)一起用于帮助在应用程序中使用其他动画或操作来编排ViewPropertyAnimator动画。

Parameters
runnable Runnable: The action to run when the next animation starts.
Returns
ViewPropertyAnimator This object, allowing calls to methods in this class to be chained.

x

Added in API level 12
ViewPropertyAnimator x (float value)

此方法将使View的x属性动画成指定值。 已经在该属性上运行的动画将被取消。

Parameters
value float: The value to be animated to.
Returns
ViewPropertyAnimator This object, allowing calls to methods in this class to be chained.

也可以看看:

xBy

Added in API level 12
ViewPropertyAnimator xBy (float value)

此方法将使View的x属性通过指定的值进行动画。 已经在该属性上运行的动画将被取消。

Parameters
value float: The amount to be animated by, as an offset from the current value.
Returns
ViewPropertyAnimator This object, allowing calls to methods in this class to be chained.

也可以看看:

y

Added in API level 12
ViewPropertyAnimator y (float value)

此方法将使View的y属性动画成指定值。 已经在该属性上运行的动画将被取消。

Parameters
value float: The value to be animated to.
Returns
ViewPropertyAnimator This object, allowing calls to methods in this class to be chained.

也可以看看:

yBy

Added in API level 12
ViewPropertyAnimator yBy (float value)

此方法将使View的y属性通过指定的值进行动画处理。 已经在该属性上运行的动画将被取消。

Parameters
value float: The amount to be animated by, as an offset from the current value.
Returns
ViewPropertyAnimator This object, allowing calls to methods in this class to be chained.

也可以看看:

z

Added in API level 21
ViewPropertyAnimator z (float value)

此方法将使View的z属性动画成指定值。 已经在该属性上运行的动画将被取消。

Parameters
value float: The value to be animated to.
Returns
ViewPropertyAnimator This object, allowing calls to methods in this class to be chained.

也可以看看:

zBy

Added in API level 21
ViewPropertyAnimator zBy (float value)

此方法将使View的z属性通过指定的值进行动画处理。 已经在该属性上运行的动画将被取消。

Parameters
value float: The amount to be animated by, as an offset from the current value.
Returns
ViewPropertyAnimator This object, allowing calls to methods in this class to be chained.

也可以看看:

Hooray!