# Print output for @column tags ?> WindowInsetsController - Android SDK | Android Developers

Most visited


Recently visited


WindowInsetsController

public interface WindowInsetsController

android.view.WindowInsetsController


Interface to control windows that generate insets.

Summary


Nested classes

interface WindowInsetsController.OnControllableInsetsChangedListener

Listener to be notified when the set of controllable InsetsType controlled by a WindowInsetsController changes. 

Constants

int APPEARANCE_LIGHT_NAVIGATION_BARS

Changes the foreground color for light navigation bars so that the items on the bar can be read clearly.

int APPEARANCE_LIGHT_STATUS_BARS

Changes the foreground color for light status bars so that the items on the bar can be read clearly.

int BEHAVIOR_SHOW_BARS_BY_SWIPE

Option for setSystemBarsBehavior(int): Window would like to remain interactive when hiding navigation bars by calling hide(int) or WindowInsetsAnimationController#setInsetsAndAlpha(Insets, float, float).

int BEHAVIOR_SHOW_BARS_BY_TOUCH

The default option for setSystemBarsBehavior(int).

int BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE

Option for setSystemBarsBehavior(int): Window would like to remain interactive when hiding navigation bars by calling hide(int) or WindowInsetsAnimationController#setInsetsAndAlpha(Insets, float, float).

Public methods

abstract void addOnControllableInsetsChangedListener(WindowInsetsController.OnControllableInsetsChangedListener listener)

Adds a OnControllableInsetsChangedListener to the window insets controller.

abstract void controlWindowInsetsAnimation(int types, long durationMillis, Interpolator interpolator, CancellationSignal cancellationSignal, WindowInsetsAnimationControlListener listener)

Lets the application control window inset animations in a frame-by-frame manner by modifying the position of the windows in the system causing insets directly.

abstract int getSystemBarsAppearance()

Retrieves the requested appearance of system bars.

abstract int getSystemBarsBehavior()

Retrieves the requested behavior of system bars.

abstract void hide(int types)

Makes a set of windows causing insets disappear.

abstract void removeOnControllableInsetsChangedListener(WindowInsetsController.OnControllableInsetsChangedListener listener)

Removes a OnControllableInsetsChangedListener from the window insets controller.

abstract void setSystemBarsAppearance(int appearance, int mask)

Controls the appearance of system bars.

abstract void setSystemBarsBehavior(int behavior)

Controls the behavior of system bars.

abstract void show(int types)

Makes a set of windows that cause insets appear on screen.

Constants


APPEARANCE_LIGHT_NAVIGATION_BARS

public static final int APPEARANCE_LIGHT_NAVIGATION_BARS

Changes the foreground color for light navigation bars so that the items on the bar can be read clearly.

Constant Value: 16 (0x00000010)

APPEARANCE_LIGHT_STATUS_BARS

public static final int APPEARANCE_LIGHT_STATUS_BARS

Changes the foreground color for light status bars so that the items on the bar can be read clearly.

Constant Value: 8 (0x00000008)

BEHAVIOR_SHOW_BARS_BY_SWIPE

public static final int BEHAVIOR_SHOW_BARS_BY_SWIPE

Option for setSystemBarsBehavior(int): Window would like to remain interactive when hiding navigation bars by calling hide(int) or WindowInsetsAnimationController#setInsetsAndAlpha(Insets, float, float).

When system bars are hidden in this mode, they can be revealed with system gestures, such as swiping from the edge of the screen where the bar is hidden from.

Constant Value: 1 (0x00000001)

BEHAVIOR_SHOW_BARS_BY_TOUCH

public static final int BEHAVIOR_SHOW_BARS_BY_TOUCH

The default option for setSystemBarsBehavior(int). System bars will be forcibly shown on any user interaction on the corresponding display if navigation bars are hidden by hide(int) or WindowInsetsAnimationController#setInsetsAndAlpha(Insets, float, float).

Constant Value: 0 (0x00000000)

BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE

public static final int BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE

Option for setSystemBarsBehavior(int): Window would like to remain interactive when hiding navigation bars by calling hide(int) or WindowInsetsAnimationController#setInsetsAndAlpha(Insets, float, float).

When system bars are hidden in this mode, they can be revealed temporarily with system gestures, such as swiping from the edge of the screen where the bar is hidden from. These transient system bars will overlay app’s content, may have some degree of transparency, and will automatically hide after a short timeout.

Constant Value: 2 (0x00000002)

Public methods


addOnControllableInsetsChangedListener

public abstract void addOnControllableInsetsChangedListener (WindowInsetsController.OnControllableInsetsChangedListener listener)

Adds a OnControllableInsetsChangedListener to the window insets controller.

Parameters
listener WindowInsetsController.OnControllableInsetsChangedListener: The listener to add. This value cannot be null.

See also:

controlWindowInsetsAnimation

public abstract void controlWindowInsetsAnimation (int types, 
                long durationMillis, 
                Interpolator interpolator, 
                CancellationSignal cancellationSignal, 
                WindowInsetsAnimationControlListener listener)

Lets the application control window inset animations in a frame-by-frame manner by modifying the position of the windows in the system causing insets directly.

Parameters
types int: The InsetsTypes the application has requested to control. 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, and android.view.WindowInsets.Type.DISPLAY_CUTOUT

durationMillis long: Duration of animation in TimeUnit.MILLISECONDS, or -1 if the animation doesn't have a predetermined duration. This value will be passed to WindowInsetsAnimation#getDurationMillis()

interpolator Interpolator: The interpolator used for this animation, or null if this animation doesn't follow an interpolation curve. This value will be passed to WindowInsetsAnimation#getInterpolator() and used to calculate WindowInsetsAnimation#getInterpolatedFraction(). This value may be null.

cancellationSignal CancellationSignal: A cancellation signal that the caller can use to cancel the request to obtain control, or once they have control, to cancel the control. This value may be null.

listener WindowInsetsAnimationControlListener: The WindowInsetsAnimationControlListener that gets called when the windows are ready to be controlled, among other callbacks. This value cannot be null.

See also:

getSystemBarsAppearance

public abstract int getSystemBarsAppearance ()

Retrieves the requested appearance of system bars.

Returns
int The requested bitmask of system bar appearance controlled by this window. Value is either 0 or a combination of android.view.WindowInsetsController.APPEARANCE_OPAQUE_STATUS_BARS, android.view.WindowInsetsController.APPEARANCE_OPAQUE_NAVIGATION_BARS, android.view.WindowInsetsController.APPEARANCE_LOW_PROFILE_BARS, APPEARANCE_LIGHT_STATUS_BARS, and APPEARANCE_LIGHT_NAVIGATION_BARS

See also:

getSystemBarsBehavior

public abstract int getSystemBarsBehavior ()

Retrieves the requested behavior of system bars.

Returns
int the system bar behavior controlled by this window. Value is BEHAVIOR_SHOW_BARS_BY_TOUCH, BEHAVIOR_SHOW_BARS_BY_SWIPE, or BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE

See also:

hide

public abstract void hide (int types)

Makes a set of windows causing insets disappear.

Note that if the window currently doesn't have control over a certain type, it will apply the change as soon as the window gains control. The app can listen to the event by observing View#onApplyWindowInsets and checking visibility with WindowInsets#isVisible.

Parameters
types int: A bitmask of InsetsType specifying what windows the app would like to make disappear. 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, and android.view.WindowInsets.Type.DISPLAY_CUTOUT

removeOnControllableInsetsChangedListener

public abstract void removeOnControllableInsetsChangedListener (WindowInsetsController.OnControllableInsetsChangedListener listener)

Removes a OnControllableInsetsChangedListener from the window insets controller.

Parameters
listener WindowInsetsController.OnControllableInsetsChangedListener: The listener to remove. This value cannot be null.

See also:

setSystemBarsAppearance

public abstract void setSystemBarsAppearance (int appearance, 
                int mask)

Controls the appearance of system bars.

For example, the following statement adds APPEARANCE_LIGHT_STATUS_BARS:

 setSystemBarsAppearance(APPEARANCE_LIGHT_STATUS_BARS, APPEARANCE_LIGHT_STATUS_BARS)
 
And the following statement clears it:
 setSystemBarsAppearance(0, APPEARANCE_LIGHT_STATUS_BARS)
 

Parameters
appearance int: Bitmask of Appearance flags. Value is either 0 or a combination of android.view.WindowInsetsController.APPEARANCE_OPAQUE_STATUS_BARS, android.view.WindowInsetsController.APPEARANCE_OPAQUE_NAVIGATION_BARS, android.view.WindowInsetsController.APPEARANCE_LOW_PROFILE_BARS, APPEARANCE_LIGHT_STATUS_BARS, and APPEARANCE_LIGHT_NAVIGATION_BARS

mask int: Specifies which flags of appearance should be changed. Value is either 0 or a combination of android.view.WindowInsetsController.APPEARANCE_OPAQUE_STATUS_BARS, android.view.WindowInsetsController.APPEARANCE_OPAQUE_NAVIGATION_BARS, android.view.WindowInsetsController.APPEARANCE_LOW_PROFILE_BARS, APPEARANCE_LIGHT_STATUS_BARS, and APPEARANCE_LIGHT_NAVIGATION_BARS

See also:

setSystemBarsBehavior

public abstract void setSystemBarsBehavior (int behavior)

Controls the behavior of system bars.

Parameters
behavior int: Determines how the bars behave when being hidden by the application. Value is BEHAVIOR_SHOW_BARS_BY_TOUCH, BEHAVIOR_SHOW_BARS_BY_SWIPE, or BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE

See also:

show

public abstract void show (int types)

Makes a set of windows that cause insets appear on screen.

Note that if the window currently doesn't have control over a certain type, it will apply the change as soon as the window gains control. The app can listen to the event by observing View#onApplyWindowInsets and checking visibility with WindowInsets#isVisible.

Parameters
types int: A bitmask of InsetsType specifying what windows the app would like to make appear on screen. 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, and android.view.WindowInsets.Type.DISPLAY_CUTOUT