to top
Android APIs
public class

PopupMenu

extends Object
implements MenuBuilder.Callback MenuPresenter.Callback
java.lang.Object
   ↳ android.widget.PopupMenu

Class Overview

A PopupMenu displays a Menu in a modal popup window anchored to a View. The popup will appear below the anchor view if there is room, or above it if there is not. If the IME is visible the popup will not overlap it until it is touched. Touching outside of the popup will dismiss it.

Summary

Nested Classes
interface PopupMenu.OnDismissListener Callback interface used to notify the application that the menu has closed. 
interface PopupMenu.OnMenuItemClickListener Interface responsible for receiving menu item click events if the items themselves do not have individual item click listeners. 
Public Constructors
PopupMenu(Context context, View anchor)
Construct a new PopupMenu.
Public Methods
void dismiss()
Dismiss the menu popup.
Menu getMenu()
MenuInflater getMenuInflater()
void inflate(int menuRes)
Inflate a menu resource into this PopupMenu.
void setOnDismissListener(PopupMenu.OnDismissListener listener)
Set a listener that will be notified when this menu is dismissed.
void setOnMenuItemClickListener(PopupMenu.OnMenuItemClickListener listener)
Set a listener that will be notified when the user selects an item from the menu.
void show()
Show the menu popup anchored to the view specified during construction.
[Expand]
Inherited Methods
From class java.lang.Object
From interface com.android.internal.view.menu.MenuBuilder.Callback
From interface com.android.internal.view.menu.MenuPresenter.Callback

Public Constructors

public PopupMenu (Context context, View anchor)

Since: API Level 11

Construct a new PopupMenu.

Parameters
context Context for the PopupMenu.
anchor Anchor view for this popup. The popup will appear below the anchor if there is room, or above it if there is not.

Public Methods

public void dismiss ()

Since: API Level 11

Dismiss the menu popup.

See Also

public Menu getMenu ()

Since: API Level 11

Returns
  • the Menu associated with this popup. Populate the returned Menu with items before calling show().

public MenuInflater getMenuInflater ()

Since: API Level 11

Returns
See Also

public void inflate (int menuRes)

Since: API Level 14

Inflate a menu resource into this PopupMenu. This is equivalent to calling popupMenu.getMenuInflater().inflate(menuRes, popupMenu.getMenu()).

Parameters
menuRes Menu resource to inflate

public void setOnDismissListener (PopupMenu.OnDismissListener listener)

Since: API Level 14

Set a listener that will be notified when this menu is dismissed.

Parameters
listener Listener to notify

public void setOnMenuItemClickListener (PopupMenu.OnMenuItemClickListener listener)

Since: API Level 11

Set a listener that will be notified when the user selects an item from the menu.

Parameters
listener Listener to notify

public void show ()

Since: API Level 11

Show the menu popup anchored to the view specified during construction.

See Also