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

Most visited

Recently visited

DisplayCutout

public final class DisplayCutout
extends Object

java.lang.Object
   ↳ android.view.DisplayCutout


Represents the area of the display that is not functional for displaying content.

DisplayCutout is immutable.

Summary

Public constructors

DisplayCutout(Insets safeInsets, Rect boundLeft, Rect boundTop, Rect boundRight, Rect boundBottom)

Creates a DisplayCutout instance.

DisplayCutout(Insets safeInsets, Rect boundLeft, Rect boundTop, Rect boundRight, Rect boundBottom, Insets waterfallInsets)

Creates a DisplayCutout instance.

DisplayCutout(Rect safeInsets, List<Rect> boundingRects)

This constructor is deprecated. Use DisplayCutout#DisplayCutout(Insets, Rect, Rect, Rect, Rect) instead.

Public methods

boolean equals(Object o)

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

Rect getBoundingRectBottom()

Returns a bounding rectangle for a non-functional area on the display which is located on the bottom of the screen.

Rect getBoundingRectLeft()

Returns a bounding rectangle for a non-functional area on the display which is located on the left of the screen.

Rect getBoundingRectRight()

Returns a bounding rectangle for a non-functional area on the display which is located on the right of the screen.

Rect getBoundingRectTop()

Returns a bounding rectangle for a non-functional area on the display which is located on the top of the screen.

List<Rect> getBoundingRects()

Returns a list of Rects, each of which is the bounding rectangle for a non-functional area on the display.

int getSafeInsetBottom()

Returns the inset from the bottom which avoids the display cutout in pixels.

int getSafeInsetLeft()

Returns the inset from the left which avoids the display cutout in pixels.

int getSafeInsetRight()

Returns the inset from the right which avoids the display cutout in pixels.

int getSafeInsetTop()

Returns the inset from the top which avoids the display cutout in pixels.

Insets getWaterfallInsets()

Returns the insets representing the curved areas of a waterfall display.

int hashCode()

Returns a hash code value for the object.

String toString()

Returns a string representation of the object.

Inherited methods

Public constructors

DisplayCutout

public DisplayCutout (Insets safeInsets, 
                Rect boundLeft, 
                Rect boundTop, 
                Rect boundRight, 
                Rect boundBottom)

Creates a DisplayCutout instance.

Note that this is only useful for tests. For production code, developers should always use a DisplayCutout obtained from the system.

Parameters
safeInsets Insets: the insets from each edge which avoid the display cutout as returned by getSafeInsetTop() etc. This value cannot be null.

boundLeft Rect: the left bounding rect of the display cutout in pixels. If null is passed, it's treated as an empty rectangle (0,0)-(0,0). This value may be null.

boundTop Rect: the top bounding rect of the display cutout in pixels. If null is passed, it's treated as an empty rectangle (0,0)-(0,0). This value may be null.

boundRight Rect: the right bounding rect of the display cutout in pixels. If null is passed, it's treated as an empty rectangle (0,0)-(0,0). This value may be null.

boundBottom Rect: the bottom bounding rect of the display cutout in pixels. If null is passed, it's treated as an empty rectangle (0,0)-(0,0). This value may be null.

DisplayCutout

public DisplayCutout (Insets safeInsets, 
                Rect boundLeft, 
                Rect boundTop, 
                Rect boundRight, 
                Rect boundBottom, 
                Insets waterfallInsets)

Creates a DisplayCutout instance.

Note that this is only useful for tests. For production code, developers should always use a DisplayCutout obtained from the system.

Parameters
safeInsets Insets: the insets from each edge which avoid the display cutout as returned by getSafeInsetTop() etc. This value cannot be null.

boundLeft Rect: the left bounding rect of the display cutout in pixels. If null is passed, it's treated as an empty rectangle (0,0)-(0,0). This value may be null.

boundTop Rect: the top bounding rect of the display cutout in pixels. If null is passed, it's treated as an empty rectangle (0,0)-(0,0). This value may be null.

boundRight Rect: the right bounding rect of the display cutout in pixels. If null is passed, it's treated as an empty rectangle (0,0)-(0,0). This value may be null.

boundBottom Rect: the bottom bounding rect of the display cutout in pixels. If null is passed, it's treated as an empty rectangle (0,0)-(0,0). This value may be null.

waterfallInsets Insets: the insets for the curved areas in waterfall display. This value cannot be null.

DisplayCutout

public DisplayCutout (Rect safeInsets, 
                List<Rect> boundingRects)

This constructor is deprecated.
Use DisplayCutout#DisplayCutout(Insets, Rect, Rect, Rect, Rect) instead.

Creates a DisplayCutout instance.

Note that this is only useful for tests. For production code, developers should always use a DisplayCutout obtained from the system.

Parameters
safeInsets Rect: the insets from each edge which avoid the display cutout as returned by getSafeInsetTop() etc. This value may be null.

boundingRects List: the bounding rects of the display cutouts as returned by getBoundingRects() ()}. This value may be null.

Public methods

equals

public boolean equals (Object o)

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.

The equals method for class Object implements the most discriminating possible equivalence relation on objects; that is, for any non-null reference values x and y, this method returns true if and only if x and y refer to the same object (x == y has the value true).

Note that it is generally necessary to override the hashCode method whenever this method is overridden, so as to maintain the general contract for the hashCode method, which states that equal objects must have equal hash codes.

Parameters
o Object: the reference object with which to compare.

Returns
boolean true if this object is the same as the obj argument; false otherwise.

getBoundingRectBottom

public Rect getBoundingRectBottom ()

Returns a bounding rectangle for a non-functional area on the display which is located on the bottom of the screen.

Returns
Rect bounding rectangle in pixels. In case of no bounding rectangle, an empty rectangle is returned. This value cannot be null.

getBoundingRectLeft

public Rect getBoundingRectLeft ()

Returns a bounding rectangle for a non-functional area on the display which is located on the left of the screen.

Returns
Rect bounding rectangle in pixels. In case of no bounding rectangle, an empty rectangle is returned. This value cannot be null.

getBoundingRectRight

public Rect getBoundingRectRight ()

Returns a bounding rectangle for a non-functional area on the display which is located on the right of the screen.

Returns
Rect bounding rectangle in pixels. In case of no bounding rectangle, an empty rectangle is returned. This value cannot be null.

getBoundingRectTop

public Rect getBoundingRectTop ()

Returns a bounding rectangle for a non-functional area on the display which is located on the top of the screen.

Returns
Rect bounding rectangle in pixels. In case of no bounding rectangle, an empty rectangle is returned. This value cannot be null.

getBoundingRects

public List<Rect> getBoundingRects ()

Returns a list of Rects, each of which is the bounding rectangle for a non-functional area on the display. There will be at most one non-functional area per short edge of the device, and none on the long edges.

Returns
List<Rect> a list of bounding Rects, one for each display cutout area. No empty Rect is returned. This value cannot be null.

getSafeInsetBottom

public int getSafeInsetBottom ()

Returns the inset from the bottom which avoids the display cutout in pixels.

Returns
int

See also:

getSafeInsetLeft

public int getSafeInsetLeft ()

Returns the inset from the left which avoids the display cutout in pixels.

Returns
int

See also:

getSafeInsetRight

public int getSafeInsetRight ()

Returns the inset from the right which avoids the display cutout in pixels.

Returns
int

See also:

getSafeInsetTop

public int getSafeInsetTop ()

Returns the inset from the top which avoids the display cutout in pixels.

Returns
int

See also:

getWaterfallInsets

public Insets getWaterfallInsets ()

Returns the insets representing the curved areas of a waterfall display. A waterfall display has curved areas along the edges of the screen. Apps should be careful when showing UI and handling touch input in those insets because the curve may impair legibility and can frequently lead to unintended touch inputs.

Returns
Insets the insets for the curved areas of a waterfall display in pixels or Insets.NONE if there are no curved areas or they don't overlap with the window. This value cannot be null.

hashCode

public int hashCode ()

Returns a hash code value for the object. This method is supported for the benefit of hash tables such as those provided by 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(Object) 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(java.lang.Object) 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.

As much as is reasonably practical, the hashCode method defined by class Object does return distinct integers for distinct objects. (This is typically implemented by converting the internal address of the object into an integer, but this implementation technique is not required by the Java™ programming language.)

Returns
int a hash code value for this object.

toString

public String toString ()

Returns a string representation of the object. In general, the toString method returns a string that "textually represents" this object. The result should be a concise but informative representation that is easy for a person to read. It is recommended that all subclasses override this method.

The toString method for class Object returns a string consisting of the name of the class of which the object is an instance, the at-sign character `@', and the unsigned hexadecimal representation of the hash code of the object. In other words, this method returns a string equal to the value of:

 getClass().getName() + '@' + Integer.toHexString(hashCode())
 

Returns
String a string representation of the object.