Added in API level 30

WindowInsetsAnimation


class WindowInsetsAnimation
kotlin.Any
   ↳ android.view.WindowInsetsAnimation

Class representing an animation of a set of windows that cause insets.

Summary

Nested classes

Class representing the range of an WindowInsetsAnimation

abstract

Interface that allows the application to listen to animation events for windows that cause insets.

Public constructors
WindowInsetsAnimation(typeMask: Int, interpolator: Interpolator?, durationMillis: Long)

Creates a new WindowInsetsAnimation object.

Public methods
Float

Retrieves the translucency of the windows that are animating.

Long

Float

Returns the raw fractional progress of this animation between start state of the animation and the end state of the animation.

Float

Returns the interpolated fractional progress of this animation between start state of the animation and the end state of the animation.

Interpolator?

Retrieves the interpolator used for this animation, or null if this animation doesn't follow an interpolation curved.

Int

Unit
setAlpha(alpha: Float)

Sets the translucency of the windows that are animating.

Unit
setFraction(fraction: Float)

Set fraction of the progress if WindowInsets.Type animation is controlled by the app.

Public constructors

WindowInsetsAnimation

Added in API level 30
WindowInsetsAnimation(
    typeMask: Int,
    interpolator: Interpolator?,
    durationMillis: Long)

Creates a new WindowInsetsAnimation object.

This should only be used for testing, as usually the system creates this object for the application to listen to with Callback.

Parameters
typeMask Int: The bitmask of WindowInsets.Types that are animating. Value is either 0 or a combination of android.view.WindowInsets.Type.STATUS_BARS, android.view.WindowInsets.Type.NAVIGATION_BARS, android.view.WindowInsets.Type.CAPTION_BAR, android.view.WindowInsets.Type.IME, android.view.WindowInsets.Type.WINDOW_DECOR, android.view.WindowInsets.Type.SYSTEM_GESTURES, android.view.WindowInsets.Type.MANDATORY_SYSTEM_GESTURES, android.view.WindowInsets.Type.TAPPABLE_ELEMENT, android.view.WindowInsets.Type.DISPLAY_CUTOUT, and android.view.WindowInsets.Type.SYSTEM_OVERLAYS
interpolator Interpolator?: The interpolator of the animation. This value may be null.
durationMillis Long: The duration of the animation in java.util.concurrent.TimeUnit#MILLISECONDS.

Public methods

getAlpha

Added in API level 30
fun getAlpha(): Float

Retrieves the translucency of the windows that are animating.

Return
Float Alpha of windows that cause insets of type WindowInsets.Type. Value is between 0f and 1f inclusive

getDurationMillis

Added in API level 30
fun getDurationMillis(): Long
Return
Long duration of animation in java.util.concurrent.TimeUnit#MILLISECONDS, or -1 if the animation doesn't have a fixed duration.

getFraction

Added in API level 30
fun getFraction(): Float

Returns the raw fractional progress of this animation between start state of the animation and the end state of the animation. Note that this progress is the global progress of the animation, whereas Callback#onProgress will only dispatch the insets that may be inset with android.view.WindowInsets#inset by parents of views in the hierarchy. Progress per insets animation is global for the entire animation. One animation animates all things together (in, out, ...). If they don't animate together, we'd have multiple animations.

Note: In case the application is controlling the animation, the valued returned here will be the same as the application passed into WindowInsetsAnimationController#setInsetsAndAlpha(Insets, float, float).

Return
Float The current progress of this animation. Value is between 0f and 1f inclusive

getInterpolatedFraction

Added in API level 30
fun getInterpolatedFraction(): Float

Returns the interpolated fractional progress of this animation between start state of the animation and the end state of the animation. Note that this progress is the global progress of the animation, whereas Callback#onProgress will only dispatch the insets that may be inset with android.view.WindowInsets#inset by parents of views in the hierarchy. Progress per insets animation is global for the entire animation. One animation animates all things together (in, out, ...). If they don't animate together, we'd have multiple animations.

Note: In case the application is controlling the animation, the valued returned here will be the same as the application passed into WindowInsetsAnimationController#setInsetsAndAlpha(Insets, float, float), interpolated with the interpolator passed into WindowInsetsController#controlWindowInsetsAnimation.

Note: For system-initiated animations, this will always return a valid value between 0 and 1.

Return
Float The current interpolated progress of this animation.

See Also

getInterpolator

Added in API level 30
fun getInterpolator(): Interpolator?

Retrieves the interpolator used for this animation, or null if this animation doesn't follow an interpolation curved. For system-initiated animations, this will never return null.

Return
Interpolator? The interpolator used for this animation.

getTypeMask

Added in API level 30
fun getTypeMask(): Int
Return
Int The bitmask of WindowInsets.Types that are animating. Value is either 0 or a combination of android.view.WindowInsets.Type.STATUS_BARS, android.view.WindowInsets.Type.NAVIGATION_BARS, android.view.WindowInsets.Type.CAPTION_BAR, android.view.WindowInsets.Type.IME, android.view.WindowInsets.Type.WINDOW_DECOR, android.view.WindowInsets.Type.SYSTEM_GESTURES, android.view.WindowInsets.Type.MANDATORY_SYSTEM_GESTURES, android.view.WindowInsets.Type.TAPPABLE_ELEMENT, android.view.WindowInsets.Type.DISPLAY_CUTOUT, and android.view.WindowInsets.Type.SYSTEM_OVERLAYS

setAlpha

Added in API level 30
fun setAlpha(alpha: Float): Unit

Sets the translucency of the windows that are animating.

Note: This should only be used for testing, as the system fills in the alpha for the application or the alpha that was passed into WindowInsetsAnimationController#setInsetsAndAlpha(Insets, float, float) is being used.

Parameters
alpha Float: Alpha of windows that cause insets of type WindowInsets.Type. Value is between 0f and 1f inclusive

See Also

setFraction

Added in API level 30
fun setFraction(fraction: Float): Unit

Set fraction of the progress if WindowInsets.Type animation is controlled by the app.

Note: This should only be used for testing, as the system fills in the fraction for the application or the fraction that was passed into WindowInsetsAnimationController#setInsetsAndAlpha(Insets, float, float) is being used.

Parameters
fraction Float: fractional progress between 0 and 1 where 0 represents hidden and zero progress and 1 represent fully shown final state. Value is between 0f and 1f inclusive

See Also