# PopupWindowCompat

Artifact: [androidx.core:core](https://developer.android.com/jetpack/androidx/releases/core) [View Source](https://cs.android.com/search?q=file:androidx/core/widget/PopupWindowCompat.java+class:androidx.core.widget.PopupWindowCompat) Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/core#1.1.0)

*** ** * ** ***


```
public final class PopupWindowCompat
```

<br />

*** ** * ** ***

Helper for accessing features in `https://developer.android.com/reference/android/widget/PopupWindow.html`.

## Summary

| ### Public methods |
|---|---|
| `static boolean` | `https://developer.android.com/reference/androidx/core/widget/PopupWindowCompat#getOverlapAnchor(android.widget.PopupWindow)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/widget/PopupWindow.html popupWindow)` Returns whether the popup window should overlap its anchor view when displayed as a drop-down. |
| `static int` | `https://developer.android.com/reference/androidx/core/widget/PopupWindowCompat#getWindowLayoutType(android.widget.PopupWindow)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/widget/PopupWindow.html popupWindow)` Returns the layout type for this window. |
| `static void` | `https://developer.android.com/reference/androidx/core/widget/PopupWindowCompat#setOverlapAnchor(android.widget.PopupWindow,boolean)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/widget/PopupWindow.html popupWindow, boolean overlapAnchor)` Sets whether the popup window should overlap its anchor view when displayed as a drop-down. |
| `static void` | `https://developer.android.com/reference/androidx/core/widget/PopupWindowCompat#setWindowLayoutType(android.widget.PopupWindow,int)(@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/widget/PopupWindow.html popupWindow, int layoutType)` Set the layout type for this window. |
| `static void` | `@https://developer.android.com/reference/androidx/annotation/ReplaceWith(expression = "popup.showAsDropDown(anchor, xoff, yoff, gravity)") [showAsDropDown](https://developer.android.com/reference/androidx/core/widget/PopupWindowCompat#showAsDropDown(android.widget.PopupWindow,android.view.View,int,int,int))( @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/widget/PopupWindow.html popup, @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/view/View.html anchor, int xoff, int yoff, int gravity )` **This method is deprecated.** Call showAsDropDown directly. <br /> |

## Public methods

### getOverlapAnchor

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/core#1.1.0)

```
public static boolean getOverlapAnchor(@NonNull PopupWindow popupWindow)
```

Returns whether the popup window should overlap its anchor view when displayed as a drop-down.

| Returns |
|---|---|
| `boolean` | Whether the popup should overlap its anchor. |

### getWindowLayoutType

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/core#1.1.0)

```
public static int getWindowLayoutType(@NonNull PopupWindow popupWindow)
```

Returns the layout type for this window.

| See also |
|---|---|
| `https://developer.android.com/reference/androidx/core/widget/PopupWindowCompat#setWindowLayoutType(android.widget.PopupWindow,int)` |   |

### setOverlapAnchor

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/core#1.1.0)

```
public static void setOverlapAnchor(@NonNull PopupWindow popupWindow, boolean overlapAnchor)
```

Sets whether the popup window should overlap its anchor view when displayed as a drop-down.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/widget/PopupWindow.html popupWindow` | popup window for which to set the anchor. |
| `boolean overlapAnchor` | Whether the popup should overlap its anchor. |

### setWindowLayoutType

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/core#1.1.0)

```
public static void setWindowLayoutType(@NonNull PopupWindow popupWindow, int layoutType)
```

Set the layout type for this window. This value will be passed through to `https://developer.android.com/reference/android/view/WindowManager.LayoutParams.html#type` therefore the value should match any value `https://developer.android.com/reference/android/view/WindowManager.LayoutParams.html#type` accepts.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/widget/PopupWindow.html popupWindow` | popup window for which to set the layout type. |
| `int layoutType` | Layout type for this window. |

| See also |
|---|---|
| `https://developer.android.com/reference/android/view/WindowManager.LayoutParams.html#type` |   |

### showAsDropDown

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/core#1.1.0) Deprecated in [1.15.0](https://developer.android.com/jetpack/androidx/releases/core#1.15.0)

```
@ReplaceWith(expression = "popup.showAsDropDown(anchor, xoff, yoff, gravity)")
public static void [showAsDropDown](https://developer.android.com/reference/androidx/core/widget/PopupWindowCompat#showAsDropDown(android.widget.PopupWindow,android.view.View,int,int,int))(
    @NonNull PopupWindow popup,
    @NonNull View anchor,
    int xoff,
    int yoff,
    int gravity
)
```

> [!CAUTION]
> **This method is deprecated.**   
>
> Call showAsDropDown directly.

Display the content view in a popup window anchored to the bottom-left corner of the anchor view offset by the specified x and y coordinates. If there is not enough room on screen to show the popup in its entirety, this method tries to find a parent scroll view to scroll. If no parent scroll view can be scrolled, the bottom-left corner of the popup is pinned at the top left corner of the anchor view.

If the view later scrolls to move `anchor` to a different location, the popup will be moved correspondingly.

| Parameters |
|---|---|
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/widget/PopupWindow.html popup` | the PopupWindow to show |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/view/View.html anchor` | the view on which to pin the popup window |
| `int xoff` | A horizontal offset from the anchor in pixels |
| `int yoff` | A vertical offset from the anchor in pixels |
| `int gravity` | Alignment of the popup relative to the anchor |