Added in API level 1

AnimationSet


open class AnimationSet : Animation
kotlin.Any
   ↳ android.view.animation.Animation
   ↳ android.view.animation.AnimationSet

Represents a group of Animations that should be played together. The transformation of each individual animation are composed together into a single transform. If AnimationSet sets any properties that its children also set (for example, duration or fillBefore), the values of AnimationSet override the child values.

The way that AnimationSet inherits behavior from Animation is important to understand. Some of the Animation attributes applied to AnimationSet affect the AnimationSet itself, some are pushed down to the children, and some are ignored, as follows:

  • duration, repeatMode, fillBefore, fillAfter: These properties, when set on an AnimationSet object, will be pushed down to all child animations.
  • repeatCount, fillEnabled: These properties are ignored for AnimationSet.
  • startOffset, shareInterpolator: These properties apply to the AnimationSet itself.
Starting with android.os.Build.VERSION_CODES#ICE_CREAM_SANDWICH, the behavior of these properties is the same in XML resources and at runtime (prior to that release, the values set in XML were ignored for AnimationSet). That is, calling setDuration(500) on an AnimationSet has the same effect as declaring android:duration="500" in an XML resource for an AnimationSet object.

Summary

Inherited constants
Public constructors
AnimationSet(context: Context!, attrs: AttributeSet!)

Constructor used when an AnimationSet is loaded from a resource.

AnimationSet(shareInterpolator: Boolean)

Constructor to use when building an AnimationSet from code

Public methods
open Unit

Add a child animation to this animation set.

open Long

The duration hint of an animation set is the maximum of the duration hints of all of its component animations.

open MutableList<Animation!>!

open Long

The duration of an AnimationSet is defined to be the duration of the longest child animation.

open Long

open Boolean

The transformation of an animation set is the concatenation of all of its component animations.

open Unit
initialize(width: Int, height: Int, parentWidth: Int, parentHeight: Int)

open Unit

open Unit
restrictDuration(durationMillis: Long)

open Unit

open Unit
setDuration(durationMillis: Long)

Sets the duration of every child animation.

open Unit
setFillAfter(fillAfter: Boolean)

open Unit
setFillBefore(fillBefore: Boolean)

open Unit
setRepeatMode(repeatMode: Int)

open Unit
setStartOffset(startOffset: Long)

open Unit
setStartTime(startTimeMillis: Long)

Sets the start time of this animation and all child animations

open Boolean

open Boolean

Protected methods
open AnimationSet

Inherited functions

Public constructors

AnimationSet

Added in API level 1
AnimationSet(
    context: Context!,
    attrs: AttributeSet!)

Constructor used when an AnimationSet is loaded from a resource.

Parameters
context Context!: Application context to use
attrs AttributeSet!: Attribute set from which to read values

AnimationSet

Added in API level 1
AnimationSet(shareInterpolator: Boolean)

Constructor to use when building an AnimationSet from code

Parameters
shareInterpolator Boolean: Pass true if all of the animations in this set should use the interpolator associated with this AnimationSet. Pass false if each animation should use its own interpolator.

Public methods

addAnimation

Added in API level 1
open fun addAnimation(a: Animation!): Unit

Add a child animation to this animation set. The transforms of the child animations are applied in the order that they were added

Parameters
a Animation!: Animation to add.

computeDurationHint

Added in API level 3
open fun computeDurationHint(): Long

The duration hint of an animation set is the maximum of the duration hints of all of its component animations.

getAnimations

Added in API level 1
open fun getAnimations(): MutableList<Animation!>!
Return
MutableList<Animation!>! All the child animations in this AnimationSet. Note that this may include other AnimationSets, which are not expanded.

getDuration

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

The duration of an AnimationSet is defined to be the duration of the longest child animation.

Return
Long the duration in milliseconds of the animation

getStartTime

Added in API level 1
open fun getStartTime(): Long
Return
Long the time in milliseconds when the animation should start or START_ON_FIRST_FRAME

getTransformation

Added in API level 1
open fun getTransformation(
    currentTime: Long,
    t: Transformation!
): Boolean

The transformation of an animation set is the concatenation of all of its component animations.

Parameters
currentTime Long: Where we are in the animation. This is wall clock time.
outTransformation A transformation object that is provided by the caller and will be filled in by the animation.
Return
Boolean True if the animation is still running

See Also

    initialize

    Added in API level 1
    open fun initialize(
        width: Int,
        height: Int,
        parentWidth: Int,
        parentHeight: Int
    ): Unit
    Parameters
    width Int: Width of the object being animated
    height Int: Height of the object being animated
    parentWidth Int: Width of the animated object's parent
    parentHeight Int: Height of the animated object's parent

    reset

    Added in API level 1
    open fun reset(): Unit

    restrictDuration

    Added in API level 1
    open fun restrictDuration(durationMillis: Long): Unit
    Parameters
    durationMillis Long: The maximum duration the animation is allowed to run.

    scaleCurrentDuration

    Added in API level 1
    open fun scaleCurrentDuration(scale: Float): Unit
    Parameters
    scale Float: The amount to scale the duration.

    setDuration

    Added in API level 1
    open fun setDuration(durationMillis: Long): Unit

    Sets the duration of every child animation.

    Parameters
    durationMillis Long: the duration of the animation, in milliseconds, for every child in this set
    Exceptions
    java.lang.IllegalArgumentException if the duration is < 0

    setFillAfter

    Added in API level 1
    open fun setFillAfter(fillAfter: Boolean): Unit
    Parameters
    fillAfter Boolean: true if the animation should apply its transformation after it ends

    setFillBefore

    Added in API level 1
    open fun setFillBefore(fillBefore: Boolean): Unit
    Parameters
    fillBefore Boolean: true if the animation should apply its transformation before it starts

    setRepeatMode

    Added in API level 1
    open fun setRepeatMode(repeatMode: Int): Unit
    Parameters
    repeatMode Int: RESTART or REVERSE

    setStartOffset

    Added in API level 1
    open fun setStartOffset(startOffset: Long): Unit
    Parameters
    startOffset Long: When this Animation should start, in milliseconds from the start time of the root AnimationSet.

    setStartTime

    Added in API level 1
    open fun setStartTime(startTimeMillis: Long): Unit

    Sets the start time of this animation and all child animations

    Parameters
    startTimeMillis Long: the start time in milliseconds

    willChangeBounds

    Added in API level 1
    open fun willChangeBounds(): Boolean
    Return
    Boolean true if this animation will change the view's bounds

    willChangeTransformationMatrix

    Added in API level 1
    open fun willChangeTransformationMatrix(): Boolean
    Return
    Boolean true if this animation will change the transformation matrix

    Protected methods

    clone

    Added in API level 1
    protected open fun clone(): AnimationSet
    Return
    AnimationSet a clone of this instance.
    Exceptions
    java.lang.CloneNotSupportedException if the object's class does not support the Cloneable interface. Subclasses that override the clone method can also throw this exception to indicate that an instance cannot be cloned.