Added in API level 12

ViewPropertyAnimator

open class ViewPropertyAnimator
kotlin.Any
   ↳ android.view.ViewPropertyAnimator

This class enables automatic and optimized animation of select properties on View objects. If only one or two properties on a View object are being animated, then using an android.animation.ObjectAnimator is fine; the property setters called by ObjectAnimator are well equipped to do the right thing to set the property and invalidate the view appropriately. But if several properties are animated simultaneously, or if you just want a more convenient syntax to animate a specific property, then ViewPropertyAnimator might be more well-suited to the task.

This class may provide better performance for several simultaneous animations, because it will optimize invalidate calls to take place only once for several properties instead of each animated property independently causing its own invalidation. Also, the syntax of using this class could be easier to use because the caller need only tell the View object which property to animate, and the value to animate either to or by, and this class handles the details of configuring the underlying Animator class and starting it.

This class is not constructed by the caller, but rather by the View whose properties it will animate. Calls to android.view.View#animate() will return a reference to the appropriate ViewPropertyAnimator object for that View.

Summary

Public methods
open ViewPropertyAnimator
alpha(value: Float)

This method will cause the View's alpha property to be animated to the specified value.

open ViewPropertyAnimator
alphaBy(value: Float)

This method will cause the View's alpha property to be animated by the specified value.

open Unit

Cancels all property animations that are currently running or pending.

open Long

Returns the current duration of property animations.

open TimeInterpolator?

Returns the timing interpolator that this animation uses.

open Long

Returns the current startDelay of property animations.

open ViewPropertyAnimator
rotation(value: Float)

This method will cause the View's rotation property to be animated to the specified value.

open ViewPropertyAnimator
rotationBy(value: Float)

This method will cause the View's rotation property to be animated by the specified value.

open ViewPropertyAnimator
rotationX(value: Float)

This method will cause the View's rotationX property to be animated to the specified value.

open ViewPropertyAnimator

This method will cause the View's rotationX property to be animated by the specified value.

open ViewPropertyAnimator
rotationY(value: Float)

This method will cause the View's rotationY property to be animated to the specified value.

open ViewPropertyAnimator

This method will cause the View's rotationY property to be animated by the specified value.

open ViewPropertyAnimator
scaleX(value: Float)

This method will cause the View's scaleX property to be animated to the specified value.

open ViewPropertyAnimator
scaleXBy(value: Float)

This method will cause the View's scaleX property to be animated by the specified value.

open ViewPropertyAnimator
scaleY(value: Float)

This method will cause the View's scaleY property to be animated to the specified value.

open ViewPropertyAnimator
scaleYBy(value: Float)

This method will cause the View's scaleY property to be animated by the specified value.

open ViewPropertyAnimator
setDuration(duration: Long)

Sets the duration for the underlying animator that animates the requested properties.

open ViewPropertyAnimator

Sets the interpolator for the underlying animator that animates the requested properties.

open ViewPropertyAnimator

Sets a listener for events in the underlying Animators that run the property animations.

open ViewPropertyAnimator
setStartDelay(startDelay: Long)

Sets the startDelay for the underlying animator that animates the requested properties.

open ViewPropertyAnimator

Sets a listener for update events in the underlying ValueAnimator that runs the property animations.

open Unit

Starts the currently pending property animations immediately.

open ViewPropertyAnimator

This method will cause the View's translationX property to be animated to the specified value.

open ViewPropertyAnimator

This method will cause the View's translationX property to be animated by the specified value.

open ViewPropertyAnimator

This method will cause the View's translationY property to be animated to the specified value.

open ViewPropertyAnimator

This method will cause the View's translationY property to be animated by the specified value.

open ViewPropertyAnimator

This method will cause the View's translationZ property to be animated to the specified value.

open ViewPropertyAnimator

This method will cause the View's translationZ property to be animated by the specified value.

open ViewPropertyAnimator
withEndAction(runnable: Runnable!)

Specifies an action to take place when the next animation ends.

open ViewPropertyAnimator

The View associated with this ViewPropertyAnimator will have its layer type set to View#LAYER_TYPE_HARDWARE for the duration of the next animation.

open ViewPropertyAnimator

Specifies an action to take place when the next animation runs.

open ViewPropertyAnimator
x(value: Float)

This method will cause the View's x property to be animated to the specified value.

open ViewPropertyAnimator
xBy(value: Float)

This method will cause the View's x property to be animated by the specified value.

open ViewPropertyAnimator
y(value: Float)

This method will cause the View's y property to be animated to the specified value.

open ViewPropertyAnimator
yBy(value: Float)

This method will cause the View's y property to be animated by the specified value.

open ViewPropertyAnimator
z(value: Float)

This method will cause the View's z property to be animated to the specified value.

open ViewPropertyAnimator
zBy(value: Float)

This method will cause the View's z property to be animated by the specified value.

Public methods

alpha

Added in API level 12
open fun alpha(value: Float): ViewPropertyAnimator

This method will cause the View's alpha property to be animated to the specified value. Animations already running on the property will be canceled.

Parameters
value Float: The value to be animated to. Value is between 0.0f and 1.0f inclusive
Return
ViewPropertyAnimator This object, allowing calls to methods in this class to be chained. This value cannot be null.

alphaBy

Added in API level 12
open fun alphaBy(value: Float): ViewPropertyAnimator

This method will cause the View's alpha property to be animated by the specified value. Animations already running on the property will be canceled.

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

cancel

Added in API level 14
open fun cancel(): Unit

Cancels all property animations that are currently running or pending.

getDuration

Added in API level 14
open fun getDuration(): Long

Returns the current duration of property animations. If the duration was set on this object, that value is returned. Otherwise, the default value of the underlying Animator is returned.

Return
Long The duration of animations, in milliseconds.

getInterpolator

Added in API level 18
open fun getInterpolator(): TimeInterpolator?

Returns the timing interpolator that this animation uses.

Return
TimeInterpolator? The timing interpolator for this animation. This value may be null.

getStartDelay

Added in API level 14
open fun getStartDelay(): Long

Returns the current startDelay of property animations. If the startDelay was set on this object, that value is returned. Otherwise, the default value of the underlying Animator is returned.

Return
Long The startDelay of animations, in milliseconds.

rotation

Added in API level 12
open fun rotation(value: Float): ViewPropertyAnimator

This method will cause the View's rotation property to be animated to the specified value. Animations already running on the property will be canceled.

Parameters
value Float: The value to be animated to.
Return
ViewPropertyAnimator This object, allowing calls to methods in this class to be chained. This value cannot be null.

rotationBy

Added in API level 12
open fun rotationBy(value: Float): ViewPropertyAnimator

This method will cause the View's rotation property to be animated by the specified value. Animations already running on the property will be canceled.

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

rotationX

Added in API level 12
open fun rotationX(value: Float): ViewPropertyAnimator

This method will cause the View's rotationX property to be animated to the specified value. Animations already running on the property will be canceled.

Parameters
value Float: The value to be animated to.
Return
ViewPropertyAnimator This object, allowing calls to methods in this class to be chained. This value cannot be null.

rotationXBy

Added in API level 12
open fun rotationXBy(value: Float): ViewPropertyAnimator

This method will cause the View's rotationX property to be animated by the specified value. Animations already running on the property will be canceled.

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

rotationY

Added in API level 12
open fun rotationY(value: Float): ViewPropertyAnimator

This method will cause the View's rotationY property to be animated to the specified value. Animations already running on the property will be canceled.

Parameters
value Float: The value to be animated to.
Return
ViewPropertyAnimator This object, allowing calls to methods in this class to be chained. This value cannot be null.

rotationYBy

Added in API level 12
open fun rotationYBy(value: Float): ViewPropertyAnimator

This method will cause the View's rotationY property to be animated by the specified value. Animations already running on the property will be canceled.

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

scaleX

Added in API level 12
open fun scaleX(value: Float): ViewPropertyAnimator

This method will cause the View's scaleX property to be animated to the specified value. Animations already running on the property will be canceled.

Parameters
value Float: The value to be animated to.
Return
ViewPropertyAnimator This object, allowing calls to methods in this class to be chained. This value cannot be null.

scaleXBy

Added in API level 12
open fun scaleXBy(value: Float): ViewPropertyAnimator

This method will cause the View's scaleX property to be animated by the specified value. Animations already running on the property will be canceled.

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

scaleY

Added in API level 12
open fun scaleY(value: Float): ViewPropertyAnimator

This method will cause the View's scaleY property to be animated to the specified value. Animations already running on the property will be canceled.

Parameters
value Float: The value to be animated to.
Return
ViewPropertyAnimator This object, allowing calls to methods in this class to be chained. This value cannot be null.

scaleYBy

Added in API level 12
open fun scaleYBy(value: Float): ViewPropertyAnimator

This method will cause the View's scaleY property to be animated by the specified value. Animations already running on the property will be canceled.

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

setDuration

Added in API level 12
open fun setDuration(duration: Long): ViewPropertyAnimator

Sets the duration for the underlying animator that animates the requested properties. By default, the animator uses the default value for ValueAnimator. Calling this method will cause the declared value to be used instead.

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

setInterpolator

Added in API level 12
open fun setInterpolator(interpolator: TimeInterpolator!): ViewPropertyAnimator

Sets the interpolator for the underlying animator that animates the requested properties. By default, the animator uses the default interpolator for ValueAnimator. Calling this method will cause the declared object to be used instead.

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

setListener

Added in API level 12
open fun setListener(listener: Animator.AnimatorListener?): ViewPropertyAnimator

Sets a listener for events in the underlying Animators that run the property animations.

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

setStartDelay

Added in API level 14
open fun setStartDelay(startDelay: Long): ViewPropertyAnimator

Sets the startDelay for the underlying animator that animates the requested properties. By default, the animator uses the default value for ValueAnimator. Calling this method will cause the declared value to be used instead.

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

setUpdateListener

Added in API level 19
open fun setUpdateListener(listener: ValueAnimator.AnimatorUpdateListener?): ViewPropertyAnimator

Sets a listener for update events in the underlying ValueAnimator that runs the property animations. Note that the underlying animator is animating between 0 and 1 (these values are then turned into the actual property values internally by ViewPropertyAnimator). So the animator cannot give information on the current values of the properties being animated by this ViewPropertyAnimator, although the view object itself can be queried to get the current values.

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

start

Added in API level 14
open fun start(): Unit

Starts the currently pending property animations immediately. Calling start() is optional because all animations start automatically at the next opportunity. However, if the animations are needed to start immediately and synchronously (not at the time when the next event is processed by the hierarchy, which is when the animations would begin otherwise), then this method can be used.

translationX

Added in API level 12
open fun translationX(value: Float): ViewPropertyAnimator

This method will cause the View's translationX property to be animated to the specified value. Animations already running on the property will be canceled.

Parameters
value Float: The value to be animated to.
Return
ViewPropertyAnimator This object, allowing calls to methods in this class to be chained. This value cannot be null.

translationXBy

Added in API level 12
open fun translationXBy(value: Float): ViewPropertyAnimator

This method will cause the View's translationX property to be animated by the specified value. Animations already running on the property will be canceled.

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

translationY

Added in API level 12
open fun translationY(value: Float): ViewPropertyAnimator

This method will cause the View's translationY property to be animated to the specified value. Animations already running on the property will be canceled.

Parameters
value Float: The value to be animated to.
Return
ViewPropertyAnimator This object, allowing calls to methods in this class to be chained. This value cannot be null.

translationYBy

Added in API level 12
open fun translationYBy(value: Float): ViewPropertyAnimator

This method will cause the View's translationY property to be animated by the specified value. Animations already running on the property will be canceled.

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

translationZ

Added in API level 21
open fun translationZ(value: Float): ViewPropertyAnimator

This method will cause the View's translationZ property to be animated to the specified value. Animations already running on the property will be canceled.

Parameters
value Float: The value to be animated to.
Return
ViewPropertyAnimator This object, allowing calls to methods in this class to be chained. This value cannot be null.

translationZBy

Added in API level 21
open fun translationZBy(value: Float): ViewPropertyAnimator

This method will cause the View's translationZ property to be animated by the specified value. Animations already running on the property will be canceled.

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

withEndAction

Added in API level 16
open fun withEndAction(runnable: Runnable!): ViewPropertyAnimator

Specifies an action to take place when the next animation ends. The action is only run if the animation ends normally; if the ViewPropertyAnimator is canceled during that animation, the runnable will not run. This method, along with withStartAction(java.lang.Runnable), is intended to help facilitate choreographing ViewPropertyAnimator animations with other animations or actions in the application.

For example, the following code animates a view to x=200 and then back to 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.
Return
ViewPropertyAnimator This object, allowing calls to methods in this class to be chained. This value cannot be null.

withLayer

Added in API level 16
open fun withLayer(): ViewPropertyAnimator

The View associated with this ViewPropertyAnimator will have its layer type set to View#LAYER_TYPE_HARDWARE for the duration of the next animation. As stated in the documentation for View#LAYER_TYPE_HARDWARE, the actual type of layer used internally depends on the runtime situation of the view. If the activity and this view are hardware-accelerated, then the layer will be accelerated as well. If the activity or the view is not accelerated, then the layer will effectively be the same as View#LAYER_TYPE_SOFTWARE.

This state is not persistent, either on the View or on this ViewPropertyAnimator: the layer type of the View will be restored when the animation ends to what it was when this method was called, and this setting on ViewPropertyAnimator is only valid for the next animation. Note that calling this method and then independently setting the layer type of the View (by a direct call to View#setLayerType(int, android.graphics.Paint)) will result in some inconsistency, including having the layer type restored to its pre-withLayer() value when the animation ends.

Return
ViewPropertyAnimator This object, allowing calls to methods in this class to be chained. This value cannot be null.

withStartAction

Added in API level 16
open fun withStartAction(runnable: Runnable!): ViewPropertyAnimator

Specifies an action to take place when the next animation runs. If there is a startDelay set on this ViewPropertyAnimator, then the action will run after that startDelay expires, when the actual animation begins. This method, along with withEndAction(java.lang.Runnable), is intended to help facilitate choreographing ViewPropertyAnimator animations with other animations or actions in the application.

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

x

Added in API level 12
open fun x(value: Float): ViewPropertyAnimator

This method will cause the View's x property to be animated to the specified value. Animations already running on the property will be canceled.

Parameters
value Float: The value to be animated to.
Return
ViewPropertyAnimator This object, allowing calls to methods in this class to be chained. This value cannot be null.

xBy

Added in API level 12
open fun xBy(value: Float): ViewPropertyAnimator

This method will cause the View's x property to be animated by the specified value. Animations already running on the property will be canceled.

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

y

Added in API level 12
open fun y(value: Float): ViewPropertyAnimator

This method will cause the View's y property to be animated to the specified value. Animations already running on the property will be canceled.

Parameters
value Float: The value to be animated to.
Return
ViewPropertyAnimator This object, allowing calls to methods in this class to be chained. This value cannot be null.

yBy

Added in API level 12
open fun yBy(value: Float): ViewPropertyAnimator

This method will cause the View's y property to be animated by the specified value. Animations already running on the property will be canceled.

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

z

Added in API level 21
open fun z(value: Float): ViewPropertyAnimator

This method will cause the View's z property to be animated to the specified value. Animations already running on the property will be canceled.

Parameters
value Float: The value to be animated to.
Return
ViewPropertyAnimator This object, allowing calls to methods in this class to be chained. This value cannot be null.

zBy

Added in API level 21
open fun zBy(value: Float): ViewPropertyAnimator

This method will cause the View's z property to be animated by the specified value. Animations already running on the property will be canceled.

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