Google is committed to advancing racial equity for Black communities. See how.

WindowInsetsAnimationCompat

public final class WindowInsetsAnimationCompat
extends Object

java.lang.Object
   ↳ androidx.core.view.WindowInsetsAnimationCompat


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

Summary

Nested classes

class WindowInsetsAnimationCompat.BoundsCompat

Class representing the range of an WindowInsetsAnimationCompat  

class WindowInsetsAnimationCompat.Callback

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

Public constructors

WindowInsetsAnimationCompat(int typeMask, Interpolator interpolator, long durationMillis)

Creates a new WindowInsetsAnimationCompat object.

Public methods

float getAlpha()

Retrieves the translucency of the windows that are animating.

long getDurationMillis()
float getFraction()

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

float getInterpolatedFraction()

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

Interpolator getInterpolator()

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

int getTypeMask()
void setAlpha(float alpha)

Sets the translucency of the windows that are animating.

void setFraction(float fraction)

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

Inherited methods

Public constructors

WindowInsetsAnimationCompat

public WindowInsetsAnimationCompat (int typeMask, 
                Interpolator interpolator, 
                long durationMillis)

Creates a new WindowInsetsAnimationCompat object.

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

Parameters
typeMask int: The bitmask of WindowInsetsCompat.Types that are animating.

interpolator Interpolator: The interpolator of the animation.

durationMillis long: The duration of the animation in TimeUnit.MILLISECONDS.

Public methods

getAlpha

public float getAlpha ()

Retrieves the translucency of the windows that are animating.

Returns
float Alpha of windows that cause insets of type WindowInsetsCompat.Type.

Value is between 0.0 and 1.0 inclusive.

getDurationMillis

public long getDurationMillis ()

Returns
long duration of animation in TimeUnit.MILLISECONDS, or -1 if the animation doesn't have a fixed duration.

getFraction

public float getFraction ()

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 WindowInsetsAnimationCompat.Callback.onProgress(WindowInsetsCompat, List) will only dispatch the insets that may be inset with WindowInsetsCompat.inset(Insets) 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 WindowInsetsAnimationControllerCompat.setInsetsAndAlpha(androidx.core.graphics.Insets, float, float).

Returns
float The current progress of this animation.

Value is between 0.0 and 1.0 inclusive.

getInterpolatedFraction

public float getInterpolatedFraction ()

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 WindowInsetsAnimationCompat.Callback.onProgress(WindowInsetsCompat, List) will only dispatch the insets that may be inset with WindowInsetsCompat.inset(Insets) 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 WindowInsetsAnimationControllerCompat.setInsetsAndAlpha(Insets, float, float), interpolated with the interpolator passed into WindowInsetsControllerCompat.controlWindowInsetsAnimation(int, long, Interpolator, CancellationSignal, WindowInsetsAnimationControlListenerCompat).

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

Returns
float The current interpolated progress of this animation.

getInterpolator

public Interpolator getInterpolator ()

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.

Returns
Interpolator The interpolator used for this animation.

getTypeMask

public int getTypeMask ()

Returns
int The bitmask of WindowInsetsCompat.Type that are animating.

setAlpha

public void setAlpha (float alpha)

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 WindowInsetsAnimationControllerCompat.setInsetsAndAlpha(Insets, float, float) is being used.

Parameters
alpha float: Alpha of windows that cause insets of type WindowInsetsCompat.Type.

Value is between 0.0 and 1.0 inclusive.

See also:

setFraction

public void setFraction (float fraction)

Set fraction of the progress if WindowInsetsCompat.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 WindowInsetsAnimationControllerCompat.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 0.0 and 1.0 inclusive.

See also: