Added in API level 20

WindowInsets


class WindowInsets
kotlin.Any
   ↳ android.view.WindowInsets

Describes a set of insets for window content.

WindowInsets are immutable and may be expanded to include more inset types in the future. To adjust insets, use one of the supplied clone methods to obtain a new WindowInsets instance with the adjusted properties.

Note: Before P, WindowInsets instances were only immutable during a single layout pass (i.e. would return the same values between View.onApplyWindowInsets and View.onLayout, but could return other values otherwise). Starting with P, WindowInsets are always immutable and implement equality.

Summary

Nested classes

Builder for WindowInsets.

Class that defines different sides for insets.

Class that defines different types of sources causing window insets.

Public constructors

Construct a new WindowInsets, copying all values from a source WindowInsets.

Public methods
WindowInsets

Returns a copy of this WindowInsets with the cutout fully consumed.

WindowInsets

Returns a copy of this WindowInsets with the stable insets fully consumed.

WindowInsets

Returns a copy of this WindowInsets with the system window insets fully consumed.

Boolean
equals(other: Any?)

Indicates whether some other object is "equal to" this one.

MutableList<Rect!>
getBoundingRects(typeMask: Int)

Returns a list of Rects, each of which is the bounding rectangle for an area that is being partially or fully obscured inside the window.

MutableList<Rect!>

Returns a list of Rects, each of which is the bounding rectangle for an area that can be partially or fully obscured inside the window, regardless of whether that type is currently visible or not.

DisplayCutout?

Returns the display cutout if there is one.

DisplayShape?

Returns the display shape in the coordinate space of the window.

Size

Returns the assumed size of the window, relative to which the getInsets and getBoundingRects have been calculated.

Insets
getInsets(typeMask: Int)

Returns the insets of a specific set of windows causing insets, denoted by the typeMask bit mask of Types.

Insets

Returns the insets a specific set of windows can cause, denoted by the typeMask bit mask of Types, regardless of whether that type is currently visible or not.

Insets

Returns the mandatory system gesture insets.

Rect?

Returns the Rect of the maximum bounds of the system privacy indicator, for the current orientation, in relative coordinates, or null if the bounds have not been loaded yet.

RoundedCorner?
getRoundedCorner(position: Int)

Returns the RoundedCorner of the given position if there is one.

Int

Returns the bottom stable inset in pixels.

Int

Returns the left stable inset in pixels.

Int

Returns the right stable inset in pixels.

Int

Returns the top stable inset in pixels.

Insets

Returns the stable insets in pixels.

Insets

Returns the system gesture insets.

Int

Returns the bottom system window inset in pixels.

Int

Returns the left system window inset in pixels.

Int

Returns the right system window inset in pixels.

Int

Returns the top system window inset in pixels.

Insets

Returns the system window insets in pixels.

Insets

Returns the tappable element insets.

Boolean

Returns true if this WindowInsets has any nonzero insets.

Boolean

Returns true if this WindowInsets has nonzero stable insets.

Boolean

Returns true if this WindowInsets has nonzero system window insets.

Int

Returns a hash code value for the object.

WindowInsets
inset(insets: Insets)

Returns a copy of this instance inset in the given directions.

WindowInsets
inset(left: Int, top: Int, right: Int, bottom: Int)

Returns a copy of this instance inset in the given directions.

Boolean

Check if these insets have been fully consumed.

Boolean

Returns true if the associated window has a round shape.

Boolean
isVisible(typeMask: Int)

Returns whether a set of windows that may cause insets is currently visible on screen, regardless of whether it actually overlaps with this window.

WindowInsets
replaceSystemWindowInsets(systemWindowInsets: Rect!)

Returns a copy of this WindowInsets with selected system window insets replaced with new values.

WindowInsets
replaceSystemWindowInsets(left: Int, top: Int, right: Int, bottom: Int)

Returns a copy of this WindowInsets with selected system window insets replaced with new values.

String

Returns a string representation of the object.

Properties
static WindowInsets

A WindowInsets instance for which isConsumed() returns true.

Public constructors

WindowInsets

Added in API level 20
WindowInsets(src: WindowInsets!)

Construct a new WindowInsets, copying all values from a source WindowInsets.

Parameters
src WindowInsets!: Source to copy insets from

Public methods

consumeDisplayCutout

Added in API level 28
Deprecated in API level 30
fun consumeDisplayCutout(): WindowInsets

Deprecated: Consuming of different parts individually of a WindowInsets instance is deprecated, since WindowInsets contains many different insets. Use CONSUMED instead to stop dispatching insets.

Returns a copy of this WindowInsets with the cutout fully consumed.

Return
WindowInsets A modified copy of this WindowInsets.
This value cannot be null.

consumeStableInsets

Added in API level 21
Deprecated in API level 30
fun consumeStableInsets(): WindowInsets

Deprecated: Consuming of different parts individually of a WindowInsets instance is deprecated, since WindowInsets contains many different insets. Use CONSUMED instead to stop dispatching insets. On R, this method has no effect.

Returns a copy of this WindowInsets with the stable insets fully consumed.

Return
WindowInsets A modified copy of this WindowInsets.
This value cannot be null.

consumeSystemWindowInsets

Added in API level 20
Deprecated in API level 30
fun consumeSystemWindowInsets(): WindowInsets

Deprecated: Consuming of different parts individually of a WindowInsets instance is deprecated, since WindowInsets contains many different insets. Use CONSUMED instead to stop dispatching insets.

Returns a copy of this WindowInsets with the system window insets fully consumed.

Return
WindowInsets A modified copy of this WindowInsets.
This value cannot be null.

equals

Added in API level 20
fun equals(other: Any?): Boolean

Indicates whether some other object is "equal to" this one.

The equals method implements an equivalence relation on non-null object references:

  • It is reflexive: for any non-null reference value x, x.equals(x) should return true.
  • It is symmetric: for any non-null reference values x and y, x.equals(y) should return true if and only if y.equals(x) returns true.
  • It is transitive: for any non-null reference values x, y, and z, if x.equals(y) returns true and y.equals(z) returns true, then x.equals(z) should return true.
  • It is consistent: for any non-null reference values x and y, multiple invocations of x.equals(y) consistently return true or consistently return false, provided no information used in equals comparisons on the objects is modified.
  • For any non-null reference value x, x.equals(null) should return false.

An equivalence relation partitions the elements it operates on into equivalence classes; all the members of an equivalence class are equal to each other. Members of an equivalence class are substitutable for each other, at least for some purposes.

Parameters
obj the reference object with which to compare.
o This value may be null.
Return
Boolean true if this object is the same as the obj argument; false otherwise.

getBoundingRects

Added in API level 35
fun getBoundingRects(typeMask: Int): MutableList<Rect!>

Returns a list of Rects, each of which is the bounding rectangle for an area that is being partially or fully obscured inside the window.

May be used with or instead of Insets for finer avoidance of regions that may be partially obscuring the window but may be smaller than those provided by getInsets(int).

The Rects returned are always cropped to the bounds of the window frame and their coordinate values are relative to the getFrame(), regardless of the window's position on screen.

If inset by inset(android.graphics.Insets), bounding rects that intersect with the provided insets will be resized to only include the intersection with the remaining frame. Bounding rects may be completely removed if they no longer intersect with the new instance.

Parameters
typeMask Int: the insets type for which to obtain the bounding rectangles.
Value is either 0 or a combination of the following:
    Return
    MutableList<Rect!> the bounding rectangles.
    This value cannot be null.

    getBoundingRectsIgnoringVisibility

    Added in API level 35
    fun getBoundingRectsIgnoringVisibility(typeMask: Int): MutableList<Rect!>

    Returns a list of Rects, each of which is the bounding rectangle for an area that can be partially or fully obscured inside the window, regardless of whether that type is currently visible or not.

    The bounding rects represent areas of a window that may be partially or fully obscured by the type. This value does not change based on the visibility state of those elements. For example, if the status bar is normally shown, but temporarily hidden, the bounding rects returned here will provide the rects associated with the status bar being shown.

    May be used with or instead of Insets for finer avoidance of regions that may be partially obscuring the window but may be smaller than those provided by getInsetsIgnoringVisibility(int).

    The Rects returned are always cropped to the bounds of the window frame and their coordinate values are relative to the getFrame(), regardless of the window's position on screen.

    Parameters
    typeMask Int: the insets type for which to obtain the bounding rectangles.
    Value is either 0 or a combination of the following:
      Return
      MutableList<Rect!> the bounding rectangles.
      This value cannot be null.
      Exceptions
      java.lang.IllegalArgumentException If the caller tries to query Type.ime(). Bounding rects are not available if the IME isn't visible as the height of the IME is dynamic depending on the EditorInfo of the currently focused view, as well as the UI state of the IME.

      getDisplayCutout

      Added in API level 28
      fun getDisplayCutout(): DisplayCutout?

      Returns the display cutout if there is one.

      Note: the display cutout will already be consumed during dispatch to View.onApplyWindowInsets, unless the window has requested a WindowManager.LayoutParams.layoutInDisplayCutoutMode other than never or default.

      Return
      DisplayCutout? the display cutout or null if there is none

      getDisplayShape

      Added in API level 34
      fun getDisplayShape(): DisplayShape?

      Returns the display shape in the coordinate space of the window.

      Return
      DisplayShape? the display shape.
      This value may be null.

      getFrame

      Added in API level 35
      fun getFrame(): Size

      Returns the assumed size of the window, relative to which the getInsets and getBoundingRects have been calculated.

      May be used with getBoundingRects to better understand their position within the window, such as the area between the edge of a bounding rect and the edge of the window.

      Note: the size may not match the actual size of the window, which is determined during the layout pass - as WindowInsets are dispatched before layout.

      Caution: using this value in determining the actual window size may make the result of layout passes unstable and should be avoided.

      Return
      Size the assumed size of the window during the inset calculation.
      This value cannot be null.

      getInsets

      Added in API level 30
      fun getInsets(typeMask: Int): Insets

      Returns the insets of a specific set of windows causing insets, denoted by the typeMask bit mask of Types.

      Parameters
      typeMask Int: Bit mask of Types to query the insets for.
      Value is either 0 or a combination of the following:
        Return
        Insets The insets.
        This value cannot be null.

        getInsetsIgnoringVisibility

        Added in API level 30
        fun getInsetsIgnoringVisibility(typeMask: Int): Insets

        Returns the insets a specific set of windows can cause, denoted by the typeMask bit mask of Types, regardless of whether that type is currently visible or not.

        The insets represents the area of a a window that that may be partially or fully obscured by the system window identified by type. This value does not change based on the visibility state of those elements. For example, if the status bar is normally shown, but temporarily hidden, the inset returned here will still provide the inset associated with the status bar being shown.

        Parameters
        typeMask Int: Bit mask of Types to query the insets for.
        Value is either 0 or a combination of the following:
          Return
          Insets The insets.
          This value cannot be null.
          Exceptions
          java.lang.IllegalArgumentException If the caller tries to query Type.ime(). Insets are not available if the IME isn't visible as the height of the IME is dynamic depending on the EditorInfo of the currently focused view, as well as the UI state of the IME.

          getMandatorySystemGestureInsets

          Added in API level 29
          Deprecated in API level 30
          fun getMandatorySystemGestureInsets(): Insets

          Deprecated: Use getInsets(int) with Type.mandatorySystemGestures() instead.

          Returns the mandatory system gesture insets.

          The mandatory system gesture insets represent the area of a window where mandatory system gestures have priority and may consume some or all touch input, e.g. due to the a system bar occupying it, or it being reserved for touch-only gestures.

          In contrast to regular system gestures, mandatory system gestures cannot be overridden by View.setSystemGestureExclusionRects.

          Simple taps are guaranteed to reach the window even within the system gesture insets, as long as they are outside the system window insets.

          When View.SYSTEM_UI_FLAG_LAYOUT_STABLE is requested, an inset will be returned even when the system gestures are inactive due to View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN or View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION.

          This inset is consumed together with the system window insets by consumeSystemWindowInsets().

          Return
          Insets This value cannot be null.

          getPrivacyIndicatorBounds

          Added in API level 31
          fun getPrivacyIndicatorBounds(): Rect?

          Returns the Rect of the maximum bounds of the system privacy indicator, for the current orientation, in relative coordinates, or null if the bounds have not been loaded yet.

          The privacy indicator bounds are determined by SystemUI, and subsequently loaded once the StatusBar window has been created and attached. The bounds for all rotations are calculated and loaded at once, and this value is only expected to ever change on display or font scale changes. As long as there is a StatusBar window, this value should not be expected to be null.

          The privacy indicator shows over apps when an app uses the microphone or camera permissions, while an app is in immersive mode.

          Return
          Rect? A rectangle representing the maximum bounds of the indicator

          getRoundedCorner

          Added in API level 31
          fun getRoundedCorner(position: Int): RoundedCorner?

          Returns the RoundedCorner of the given position if there is one.

          Parameters
          position Int: the position of the rounded corner on the display. The value should be one of the following: RoundedCorner.POSITION_TOP_LEFT, RoundedCorner.POSITION_TOP_RIGHT, RoundedCorner.POSITION_BOTTOM_RIGHT, RoundedCorner.POSITION_BOTTOM_LEFT.
          Value is one of the following:
          Return
          RoundedCorner? the rounded corner of the given position. Returns null if there is none or the rounded corner area is not inside the application's bounds.

          getStableInsetBottom

          Added in API level 21
          Deprecated in API level 30
          fun getStableInsetBottom(): Int

          Deprecated: Use getInsetsIgnoringVisibility(int) with Type.systemBars() instead.

          Returns the bottom stable inset in pixels.

          The stable inset represents the area of a full-screen window that may be partially or fully obscured by the system UI elements. This value does not change based on the visibility state of those elements; for example, if the status bar is normally shown, but temporarily hidden, the stable inset will still provide the inset associated with the status bar being shown.

          Return
          Int The bottom stable inset

          getStableInsetLeft

          Added in API level 21
          Deprecated in API level 30
          fun getStableInsetLeft(): Int

          Deprecated: Use getInsetsIgnoringVisibility(int) with Type.systemBars() instead.

          Returns the left stable inset in pixels.

          The stable inset represents the area of a full-screen window that may be partially or fully obscured by the system UI elements. This value does not change based on the visibility state of those elements; for example, if the status bar is normally shown, but temporarily hidden, the stable inset will still provide the inset associated with the status bar being shown.

          Return
          Int The left stable inset

          getStableInsetRight

          Added in API level 21
          Deprecated in API level 30
          fun getStableInsetRight(): Int

          Deprecated: Use getInsetsIgnoringVisibility(int) with Type.systemBars() instead.

          Returns the right stable inset in pixels.

          The stable inset represents the area of a full-screen window that may be partially or fully obscured by the system UI elements. This value does not change based on the visibility state of those elements; for example, if the status bar is normally shown, but temporarily hidden, the stable inset will still provide the inset associated with the status bar being shown.

          Return
          Int The right stable inset

          getStableInsetTop

          Added in API level 21
          Deprecated in API level 30
          fun getStableInsetTop(): Int

          Deprecated: Use getInsetsIgnoringVisibility(int) with Type.systemBars() instead.

          Returns the top stable inset in pixels.

          The stable inset represents the area of a full-screen window that may be partially or fully obscured by the system UI elements. This value does not change based on the visibility state of those elements; for example, if the status bar is normally shown, but temporarily hidden, the stable inset will still provide the inset associated with the status bar being shown.

          Return
          Int The top stable inset

          getStableInsets

          Added in API level 29
          Deprecated in API level 30
          fun getStableInsets(): Insets

          Deprecated: Use getInsetsIgnoringVisibility(int) with Type.systemBars() instead.

          Returns the stable insets in pixels.

          The stable inset represents the area of a full-screen window that may be partially or fully obscured by the system UI elements. This value does not change based on the visibility state of those elements; for example, if the status bar is normally shown, but temporarily hidden, the stable inset will still provide the inset associated with the status bar being shown.

          Return
          Insets The stable insets.
          This value cannot be null.

          getSystemGestureInsets

          Added in API level 29
          Deprecated in API level 30
          fun getSystemGestureInsets(): Insets

          Deprecated: Use getInsets(int) with Type.systemGestures() instead.

          Returns the system gesture insets.

          The system gesture insets represent the area of a window where system gestures have priority and may consume some or all touch input, e.g. due to the a system bar occupying it, or it being reserved for touch-only gestures.

          An app can declare priority over system gestures with View.setSystemGestureExclusionRects outside of the mandatory system gesture insets.

          Note: the system will put a limit of 200dp on the vertical extent of the exclusions it takes into account. The limit does not apply while the navigation bar is stickily hidden, nor to the input method and home activity.

          Simple taps are guaranteed to reach the window even within the system gesture insets, as long as they are outside the system window insets.

          When View.SYSTEM_UI_FLAG_LAYOUT_STABLE is requested, an inset will be returned even when the system gestures are inactive due to View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN or View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION.

          This inset is consumed together with the system window insets by consumeSystemWindowInsets().

          Return
          Insets This value cannot be null.

          getSystemWindowInsetBottom

          Added in API level 20
          Deprecated in API level 30
          fun getSystemWindowInsetBottom(): Int

          Deprecated: Use getInsets(int) with Type.systemBars() instead.

          Returns the bottom system window inset in pixels.

          The system window inset represents the area of a full-screen window that is partially or fully obscured by the status bar, navigation bar, IME or other system windows.

          Return
          Int The bottom system window inset

          getSystemWindowInsetLeft

          Added in API level 20
          Deprecated in API level 30
          fun getSystemWindowInsetLeft(): Int

          Deprecated: Use getInsets(int) with Type.systemBars() instead.

          Returns the left system window inset in pixels.

          The system window inset represents the area of a full-screen window that is partially or fully obscured by the status bar, navigation bar, IME or other system windows.

          Return
          Int The left system window inset

          getSystemWindowInsetRight

          Added in API level 20
          Deprecated in API level 30
          fun getSystemWindowInsetRight(): Int

          Deprecated: Use getInsets(int) with Type.systemBars() instead.

          Returns the right system window inset in pixels.

          The system window inset represents the area of a full-screen window that is partially or fully obscured by the status bar, navigation bar, IME or other system windows.

          Return
          Int The right system window inset

          getSystemWindowInsetTop

          Added in API level 20
          Deprecated in API level 30
          fun getSystemWindowInsetTop(): Int

          Deprecated: Use getInsets(int) with Type.systemBars() instead.

          Returns the top system window inset in pixels.

          The system window inset represents the area of a full-screen window that is partially or fully obscured by the status bar, navigation bar, IME or other system windows.

          Return
          Int The top system window inset

          getSystemWindowInsets

          Added in API level 29
          Deprecated in API level 30
          fun getSystemWindowInsets(): Insets

          Deprecated: Use getInsets(int) with Type.systemBars()

          Returns the system window insets in pixels.

          The system window inset represents the area of a full-screen window that is partially or fully obscured by the status bar, navigation bar, IME or other system windows.

          Return
          Insets The system window insets.
          This value cannot be null.

          getTappableElementInsets

          Added in API level 29
          Deprecated in API level 30
          fun getTappableElementInsets(): Insets

          Deprecated: Use getInsets(int) with Type.tappableElement() instead.

          Returns the tappable element insets.

          The tappable element insets represent how much tappable elements must at least be inset to remain both tappable and visually unobstructed by persistent system windows.

          This may be smaller than getSystemWindowInsets() if the system window is largely transparent and lets through simple taps (but not necessarily more complex gestures).

          Note that generally, tappable elements should be aligned with the system window insets instead to avoid overlapping with the system bars.

          When View.SYSTEM_UI_FLAG_LAYOUT_STABLE is requested, an inset will be returned even when the area covered by the inset would be tappable due to View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN or View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION.

          This inset is consumed together with the system window insets by consumeSystemWindowInsets().

          Return
          Insets This value cannot be null.

          hasInsets

          Added in API level 20
          fun hasInsets(): Boolean

          Returns true if this WindowInsets has any nonzero insets.

          Return
          Boolean true if any inset values are nonzero

          hasStableInsets

          Added in API level 21
          Deprecated in API level 30
          fun hasStableInsets(): Boolean

          Deprecated: Use getInsetsIgnoringVisibility(int) with Type.systemBars() instead.

          Returns true if this WindowInsets has nonzero stable insets.

          The stable inset represents the area of a full-screen window that may be partially or fully obscured by the system UI elements. This value does not change based on the visibility state of those elements; for example, if the status bar is normally shown, but temporarily hidden, the stable inset will still provide the inset associated with the status bar being shown.

          Return
          Boolean true if any of the stable inset values are nonzero

          hasSystemWindowInsets

          Added in API level 20
          Deprecated in API level 30
          fun hasSystemWindowInsets(): Boolean

          Deprecated: Use getInsets(int) with Type.systemBars() instead.

          Returns true if this WindowInsets has nonzero system window insets.

          The system window inset represents the area of a full-screen window that is partially or fully obscured by the status bar, navigation bar, IME or other system windows.

          Return
          Boolean true if any of the system window inset values are nonzero

          hashCode

          Added in API level 20
          fun hashCode(): Int

          Returns a hash code value for the object. This method is supported for the benefit of hash tables such as those provided by java.util.HashMap.

          The general contract of hashCode is:

          • Whenever it is invoked on the same object more than once during an execution of a Java application, the hashCode method must consistently return the same integer, provided no information used in equals comparisons on the object is modified. This integer need not remain consistent from one execution of an application to another execution of the same application.
          • If two objects are equal according to the equals method, then calling the hashCode method on each of the two objects must produce the same integer result.
          • It is not required that if two objects are unequal according to the equals method, then calling the hashCode method on each of the two objects must produce distinct integer results. However, the programmer should be aware that producing distinct integer results for unequal objects may improve the performance of hash tables.
          Return
          Int a hash code value for this object.

          inset

          Added in API level 30
          fun inset(insets: Insets): WindowInsets

          Returns a copy of this instance inset in the given directions.

          This is intended for dispatching insets to areas of the window that are smaller than the current area.

          Example:

          childView.dispatchApplyWindowInsets(insets.inset(childMargins));
            
          Parameters
          insets Insets: the amount of insets to remove from all sides.
          This value cannot be null.
          Return
          WindowInsets This value cannot be null.

          inset

          Added in API level 29
          fun inset(
              left: Int,
              top: Int,
              right: Int,
              bottom: Int
          ): WindowInsets

          Returns a copy of this instance inset in the given directions.

          This is intended for dispatching insets to areas of the window that are smaller than the current area.

          Example:

          childView.dispatchApplyWindowInsets(insets.inset(
                    childMarginLeft, childMarginTop, childMarginBottom, childMarginRight));
            
          Parameters
          left Int: the amount of insets to remove from the left. Must be non-negative.
          Value is 0 or greater
          top Int: the amount of insets to remove from the top. Must be non-negative.
          Value is 0 or greater
          right Int: the amount of insets to remove from the right. Must be non-negative.
          Value is 0 or greater
          bottom Int: the amount of insets to remove from the bottom. Must be non-negative.
          Value is 0 or greater
          Return
          WindowInsets the inset insets.
          This value cannot be null.

          See Also

          isConsumed

          Added in API level 21
          fun isConsumed(): Boolean

          Check if these insets have been fully consumed.

          Insets are considered "consumed" if the applicable consume* methods have been called such that all insets have been set to zero. This affects propagation of insets through the view hierarchy; insets that have not been fully consumed will continue to propagate down to child views.

          The result of this method is equivalent to the return value of View.fitSystemWindows(android.graphics.Rect).

          Return
          Boolean true if the insets have been fully consumed.

          isRound

          Added in API level 20
          fun isRound(): Boolean

          Returns true if the associated window has a round shape.

          A round window's left, top, right and bottom edges reach all the way to the associated edges of the window but the corners may not be visible. Views responding to round insets should take care to not lay out critical elements within the corners where they may not be accessible.

          Return
          Boolean True if the window is round

          isVisible

          Added in API level 30
          fun isVisible(typeMask: Int): Boolean

          Returns whether a set of windows that may cause insets is currently visible on screen, regardless of whether it actually overlaps with this window.

          Parameters
          typeMask Int: Bit mask of Types to query visibility status.
          Value is either 0 or a combination of the following:
            Return
            Boolean true if and only if all windows included in typeMask are currently visible on screen.

            replaceSystemWindowInsets

            Added in API level 21
            Deprecated in API level 29
            fun replaceSystemWindowInsets(systemWindowInsets: Rect!): WindowInsets

            Deprecated: use Builder#Builder(WindowInsets) with Builder.setSystemWindowInsets(Insets) instead.

            Returns a copy of this WindowInsets with selected system window insets replaced with new values.

            Note: If the system window insets are already consumed, this method will return them unchanged on Q and later. Prior to Q, the new values were applied regardless of whether they were consumed, and this method returns invalid non-zero consumed insets.

            Parameters
            systemWindowInsets Rect!: New system window insets. Each field is the inset in pixels for that edge
            Return
            WindowInsets A modified copy of this WindowInsets.
            This value cannot be null.

            replaceSystemWindowInsets

            Added in API level 20
            Deprecated in API level 29
            fun replaceSystemWindowInsets(
                left: Int,
                top: Int,
                right: Int,
                bottom: Int
            ): WindowInsets

            Deprecated: use Builder#Builder(WindowInsets) with Builder.setSystemWindowInsets(Insets) instead.

            Returns a copy of this WindowInsets with selected system window insets replaced with new values.

            Note: If the system window insets are already consumed, this method will return them unchanged on Q and later. Prior to Q, the new values were applied regardless of whether they were consumed, and this method returns invalid non-zero consumed insets.

            Parameters
            left Int: New left inset in pixels
            top Int: New top inset in pixels
            right Int: New right inset in pixels
            bottom Int: New bottom inset in pixels
            Return
            WindowInsets A modified copy of this WindowInsets.
            This value cannot be null.

            toString

            Added in API level 20
            fun toString(): String

            Returns a string representation of the object.

            Return
            String a string representation of the object.

            Properties

            CONSUMED

            Added in API level 30
            static val CONSUMED: WindowInsets

            A WindowInsets instance for which isConsumed() returns true.

            This can be used during insets dispatch in the view hierarchy by returning this value from View.onApplyWindowInsets(WindowInsets) or OnApplyWindowInsetsListener.onApplyWindowInsets(View, WindowInsets) to stop dispatch the insets to its children to avoid traversing the entire view hierarchy.

            The application should return this instance once it has taken care of all insets on a certain level in the view hierarchy, and doesn't need to dispatch to its children anymore for better performance.

            See Also