Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) Summary: [Inherited Constants](https://developer.android.com/reference/android/graphics/Insets#inhconstants) \| [Fields](https://developer.android.com/reference/android/graphics/Insets#lfields) \| [Methods](https://developer.android.com/reference/android/graphics/Insets#pubmethods) \| [Inherited Methods](https://developer.android.com/reference/android/graphics/Insets#inhmethods)

# Insets

*** ** * ** ***


`
public

final

class
Insets
`


`

extends https://developer.android.com/reference/java/lang/Object


`

`


implements

https://developer.android.com/reference/android/os/Parcelable


`

|---|---|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object) ||
| ↳ | android.graphics.Insets |

<br />

*** ** * ** ***

An Insets instance holds four integer offsets which describe changes to the four
edges of a Rectangle. By convention, positive values move edges towards the
centre of the rectangle.


Insets are immutable so may be treated as values.

## Summary

| ### Inherited constants |
|---|
| From interface `https://developer.android.com/reference/android/os/Parcelable` |---|---| | `int` | `https://developer.android.com/reference/android/os/Parcelable#CONTENTS_FILE_DESCRIPTOR` Descriptor bit used with `https://developer.android.com/reference/android/os/Parcelable#describeContents()`: indicates that the Parcelable object's flattened representation includes a file descriptor. | | `int` | `https://developer.android.com/reference/android/os/Parcelable#PARCELABLE_WRITE_RETURN_VALUE` Flag for use with `https://developer.android.com/reference/android/os/Parcelable#writeToParcel(android.os.Parcel,%20int)`: the object being written is a return value, that is the result of a function such as "`Parcelable someFunction()`", "`void someFunction(out Parcelable)`", or "`void someFunction(inout Parcelable)`". | |

| ### Fields ||
|---|---|
| ` public static final https://developer.android.com/reference/android/os/Parcelable.Creator<https://developer.android.com/reference/android/graphics/Insets>` | `https://developer.android.com/reference/android/graphics/Insets#CREATOR` |
| ` public static final https://developer.android.com/reference/android/graphics/Insets` | `https://developer.android.com/reference/android/graphics/Insets#NONE` |
| ` public final int` | `https://developer.android.com/reference/android/graphics/Insets#bottom` |
| ` public final int` | `https://developer.android.com/reference/android/graphics/Insets#left` |
| ` public final int` | `https://developer.android.com/reference/android/graphics/Insets#right` |
| ` public final int` | `https://developer.android.com/reference/android/graphics/Insets#top` |

| ### Public methods ||
|---|---|
| ` static https://developer.android.com/reference/android/graphics/Insets` | ` https://developer.android.com/reference/android/graphics/Insets#add(android.graphics.Insets,%20android.graphics.Insets)(https://developer.android.com/reference/android/graphics/Insets a, https://developer.android.com/reference/android/graphics/Insets b) ` Add two Insets. |
| ` int` | ` https://developer.android.com/reference/android/graphics/Insets#describeContents()() ` Describe the kinds of special objects contained in this Parcelable instance's marshaled representation. |
| ` boolean` | ` https://developer.android.com/reference/android/graphics/Insets#equals(java.lang.Object)(https://developer.android.com/reference/java/lang/Object o) ` Two Insets instances are equal iff they belong to the same class and their fields are pairwise equal. |
| ` int` | ` https://developer.android.com/reference/android/graphics/Insets#hashCode()() ` Returns a hash code value for the object. |
| ` static https://developer.android.com/reference/android/graphics/Insets` | ` https://developer.android.com/reference/android/graphics/Insets#max(android.graphics.Insets,%20android.graphics.Insets)(https://developer.android.com/reference/android/graphics/Insets a, https://developer.android.com/reference/android/graphics/Insets b) ` Retrieves the maximum of two Insets. |
| ` static https://developer.android.com/reference/android/graphics/Insets` | ` https://developer.android.com/reference/android/graphics/Insets#min(android.graphics.Insets,%20android.graphics.Insets)(https://developer.android.com/reference/android/graphics/Insets a, https://developer.android.com/reference/android/graphics/Insets b) ` Retrieves the minimum of two Insets. |
| ` static https://developer.android.com/reference/android/graphics/Insets` | ` https://developer.android.com/reference/android/graphics/Insets#of(android.graphics.Rect)(https://developer.android.com/reference/android/graphics/Rect r) ` Return an Insets instance with the appropriate values. |
| ` static https://developer.android.com/reference/android/graphics/Insets` | ` https://developer.android.com/reference/android/graphics/Insets#of(int,%20int,%20int,%20int)(int left, int top, int right, int bottom) ` Return an Insets instance with the appropriate values. |
| ` static https://developer.android.com/reference/android/graphics/Insets` | ` https://developer.android.com/reference/android/graphics/Insets#subtract(android.graphics.Insets,%20android.graphics.Insets)(https://developer.android.com/reference/android/graphics/Insets a, https://developer.android.com/reference/android/graphics/Insets b) ` Subtract two Insets. |
| ` https://developer.android.com/reference/java/lang/String` | ` https://developer.android.com/reference/android/graphics/Insets#toString()() ` Returns a string representation of the object. |
| ` void` | ` https://developer.android.com/reference/android/graphics/Insets#writeToParcel(android.os.Parcel,%20int)(https://developer.android.com/reference/android/os/Parcel out, int flags) ` Flatten this object in to a Parcel. |

| ### Inherited methods |
|---|---|
| From class ` https://developer.android.com/reference/java/lang/Object ` |---|---| | ` https://developer.android.com/reference/java/lang/Object` | ` https://developer.android.com/reference/java/lang/Object#clone()() ` Creates and returns a copy of this object. | | ` boolean` | ` https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object)(https://developer.android.com/reference/java/lang/Object obj) ` Indicates whether some other object is "equal to" this one. | | ` void` | ` https://developer.android.com/reference/java/lang/Object#finalize()() ` Called by the garbage collector on an object when garbage collection determines that there are no more references to the object. | | ` final https://developer.android.com/reference/java/lang/Class<?>` | ` https://developer.android.com/reference/java/lang/Object#getClass()() ` Returns the runtime class of this `Object`. | | ` int` | ` https://developer.android.com/reference/java/lang/Object#hashCode()() ` Returns a hash code value for the object. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#notify()() ` Wakes up a single thread that is waiting on this object's monitor. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#notifyAll()() ` Wakes up all threads that are waiting on this object's monitor. | | ` https://developer.android.com/reference/java/lang/String` | ` https://developer.android.com/reference/java/lang/Object#toString()() ` Returns a string representation of the object. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#wait(long,%20int)(long timeoutMillis, int nanos) ` Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*, or until a certain amount of real time has elapsed. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#wait(long)(long timeoutMillis) ` Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*, or until a certain amount of real time has elapsed. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#wait()() ` Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*. | ||
| From interface ` https://developer.android.com/reference/android/os/Parcelable ` |---|---| | ` abstract int` | ` https://developer.android.com/reference/android/os/Parcelable#describeContents()() ` Describe the kinds of special objects contained in this Parcelable instance's marshaled representation. | | ` abstract void` | ` https://developer.android.com/reference/android/os/Parcelable#writeToParcel(android.os.Parcel,%20int)(https://developer.android.com/reference/android/os/Parcel dest, int flags) ` Flatten this object in to a Parcel. | ||

## Fields

### CREATOR

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final Creator<Insets> CREATOR
```

<br />

<br />

### NONE

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final Insets NONE
```

<br />

<br />

### bottom

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public final int bottom
```

<br />

<br />

### left

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public final int left
```

<br />

<br />

### right

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public final int right
```

<br />

<br />

### top

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public final int top
```

<br />

<br />

## Public methods

### add

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static Insets add (Insets a, 
                Insets b)
```

Add two Insets.

<br />

| Parameters ||
|---|---|
| `a` | `Insets`: The first Insets to add. This value cannot be `null`. <br /> |
| `b` | `Insets`: The second Insets to add. This value cannot be `null`. <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/graphics/Insets` | a + b, i. e. all insets on every side are added together. This value cannot be `null`. <br /> |

### describeContents

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public int describeContents ()
```

Describe the kinds of special objects contained in this Parcelable
instance's marshaled representation. For example, if the object will
include a file descriptor in the output of `https://developer.android.com/reference/android/os/Parcelable#writeToParcel(android.os.Parcel,%20int)`,
the return value of this method must include the
`https://developer.android.com/reference/android/os/Parcelable#CONTENTS_FILE_DESCRIPTOR` bit.

<br />

| Returns ||
|---|---|
| `int` | a bitmask indicating the set of special object types marshaled by this Parcelable object instance. Value is either `0` or - `https://developer.android.com/reference/android/os/Parcelable#CONTENTS_FILE_DESCRIPTOR` |

### equals

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public boolean equals (Object o)
```

Two Insets instances are equal iff they belong to the same class and their fields are
pairwise equal.

<br />

| Parameters ||
|---|---|
| `o` | `Object`: the object to compare this instance with. <br /> |

| Returns ||
|---|---|
| `boolean` | true iff this object is equal `o` <br /> |

### hashCode

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
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
`https://developer.android.com/reference/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 `https://developer.android.com/reference/java/lang/Object#equals(java.lang.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 `https://developer.android.com/reference/java/lang/Object#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.

<br />

<br />

| Returns ||
|---|---|
| `int` | a hash code value for this object. <br /> |

### max

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static Insets max (Insets a, 
                Insets b)
```

Retrieves the maximum of two Insets.

<br />

| Parameters ||
|---|---|
| `a` | `Insets`: The first Insets. This value cannot be `null`. <br /> |
| `b` | `Insets`: The second Insets. This value cannot be `null`. <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/graphics/Insets` | max(a, b), i. e. the larger of every inset on every side is taken for the result. This value cannot be `null`. <br /> |

### min

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static Insets min (Insets a, 
                Insets b)
```

Retrieves the minimum of two Insets.

<br />

| Parameters ||
|---|---|
| `a` | `Insets`: The first Insets. This value cannot be `null`. <br /> |
| `b` | `Insets`: The second Insets. This value cannot be `null`. <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/graphics/Insets` | min(a, b), i. e. the smaller of every inset on every side is taken for the result. This value cannot be `null`. <br /> |

### of

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static Insets of (Rect r)
```

Return an Insets instance with the appropriate values.

<br />

| Parameters ||
|---|---|
| `r` | `Rect`: the rectangle from which to take the values. This value may be `null`. <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/graphics/Insets` | an Insets instance with the appropriate values. This value cannot be `null`. <br /> |

### of

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static Insets of (int left, 
                int top, 
                int right, 
                int bottom)
```

Return an Insets instance with the appropriate values.

<br />

| Parameters ||
|---|---|
| `left` | `int`: the left inset <br /> |
| `top` | `int`: the top inset <br /> |
| `right` | `int`: the right inset <br /> |
| `bottom` | `int`: the bottom inset <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/graphics/Insets` | Insets instance with the appropriate values. This value cannot be `null`. <br /> |

### subtract

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static Insets subtract (Insets a, 
                Insets b)
```

Subtract two Insets.

<br />

| Parameters ||
|---|---|
| `a` | `Insets`: The minuend. This value cannot be `null`. <br /> |
| `b` | `Insets`: The subtrahend. This value cannot be `null`. <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/graphics/Insets` | a - b, i. e. all insets on every side are subtracted from each other. This value cannot be `null`. <br /> |

### toString

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public String toString ()
```

Returns a string representation of the object.

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/lang/String` | a string representation of the object. <br /> |

### writeToParcel

Added in [API level 29](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public void writeToParcel (Parcel out, 
                int flags)
```

Flatten this object in to a Parcel.

<br />

| Parameters ||
|---|---|
| `out` | `Parcel`: The Parcel in which the object should be written. This value cannot be `null`. <br /> |
| `flags` | `int`: Additional flags about how the object should be written. May be 0 or `https://developer.android.com/reference/android/os/Parcelable#PARCELABLE_WRITE_RETURN_VALUE`. Value is either `0` or a combination of the following: - `https://developer.android.com/reference/android/os/Parcelable#PARCELABLE_WRITE_RETURN_VALUE` |