Skip to content

Most visited

Recently visited

navigation
added in version 25.1.0
belongs to Maven artifact com.android.support:appcompat-v7:27.0.0

PopupMenu

public class PopupMenu
extends Object

java.lang.Object
   ↳ android.support.v7.widget.PopupMenu


Static library support version of the framework's PopupMenu. Used to write apps that run on platforms prior to Android 3.0. When running on Android 3.0 or above, this implementation is still used; it does not try to switch to the framework's implementation. See the framework SDK documentation for a class overview.

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)

Constructor to create a new popup menu with an anchor view.

PopupMenu(Context context, View anchor, int gravity)

Constructor to create a new popup menu with an anchor view and alignment gravity.

PopupMenu(Context context, View anchor, int gravity, int popupStyleAttr, int popupStyleRes)

Constructor a create a new popup menu with a specific style.

Public methods

void dismiss()

Dismiss the menu popup.

View.OnTouchListener getDragToOpenListener()

Returns an View.OnTouchListener that can be added to the anchor view to implement drag-to-open behavior.

int getGravity()
Menu getMenu()

Returns the Menu associated with this popup.

MenuInflater getMenuInflater()
void inflate(int menuRes)

Inflate a menu resource into this PopupMenu.

void setGravity(int gravity)

Sets the gravity used to align the popup window to its anchor view.

void setOnDismissListener(PopupMenu.OnDismissListener listener)

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

void setOnMenuItemClickListener(PopupMenu.OnMenuItemClickListener listener)

Sets 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.

Inherited methods

From class java.lang.Object

Public constructors

PopupMenu

added in version 25.1.0
PopupMenu (Context context, 
                View anchor)

Constructor to create a new popup menu with an anchor view.

Parameters
context Context: Context the popup menu is running in, through which it can access the current theme, resources, etc.

anchor View: Anchor view for this popup. The popup will appear below the anchor if there is room, or above it if there is not.

PopupMenu

added in version 25.1.0
PopupMenu (Context context, 
                View anchor, 
                int gravity)

Constructor to create a new popup menu with an anchor view and alignment gravity.

Parameters
context Context: Context the popup menu is running in, through which it can access the current theme, resources, etc.

anchor View: Anchor view for this popup. The popup will appear below the anchor if there is room, or above it if there is not.

gravity int: The Gravity value for aligning the popup with its anchor.

PopupMenu

added in version 25.1.0
PopupMenu (Context context, 
                View anchor, 
                int gravity, 
                int popupStyleAttr, 
                int popupStyleRes)

Constructor a create a new popup menu with a specific style.

Parameters
context Context: Context the popup menu is running in, through which it can access the current theme, resources, etc.

anchor View: Anchor view for this popup. The popup will appear below the anchor if there is room, or above it if there is not.

gravity int: The Gravity value for aligning the popup with its anchor.

popupStyleAttr int: An attribute in the current theme that contains a reference to a style resource that supplies default values for the popup window. Can be 0 to not look for defaults.

popupStyleRes int: A resource identifier of a style resource that supplies default values for the popup window, used only if popupStyleAttr is 0 or can not be found in the theme. Can be 0 to not look for defaults.

Public methods

dismiss

added in version 25.1.0
void dismiss ()

Dismiss the menu popup.

See also:

getDragToOpenListener

added in version 25.1.0
View.OnTouchListener getDragToOpenListener ()

Returns an View.OnTouchListener that can be added to the anchor view to implement drag-to-open behavior.

When the listener is set on a view, touching that view and dragging outside of its bounds will open the popup window. Lifting will select the currently touched list item.

Example usage:

 PopupMenu myPopup = new PopupMenu(context, myAnchor);
 myAnchor.setOnTouchListener(myPopup.getDragToOpenListener());
 

Returns
View.OnTouchListener a touch listener that controls drag-to-open behavior

getGravity

added in version 25.1.0
int getGravity ()

Returns
int the gravity used to align the popup window to its anchor view

See also:

getMenu

added in version 25.1.0
Menu getMenu ()

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

Returns
Menu the Menu associated with this popup

See also:

getMenuInflater

added in version 25.1.0
MenuInflater getMenuInflater ()

Returns
MenuInflater a MenuInflater that can be used to inflate menu items from XML into the menu returned by getMenu()

See also:

inflate

added in version 25.1.0
void inflate (int menuRes)

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

Parameters
menuRes int: Menu resource to inflate

setGravity

added in version 25.1.0
void setGravity (int gravity)

Sets the gravity used to align the popup window to its anchor view.

If the popup is showing, calling this method will take effect only the next time the popup is shown.

Parameters
gravity int: the gravity used to align the popup window

See also:

setOnDismissListener

added in version 25.1.0
void setOnDismissListener (PopupMenu.OnDismissListener listener)

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

Parameters
listener PopupMenu.OnDismissListener: the listener to notify

setOnMenuItemClickListener

added in version 25.1.0
void setOnMenuItemClickListener (PopupMenu.OnMenuItemClickListener listener)

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

Parameters
listener PopupMenu.OnMenuItemClickListener: the listener to notify

show

added in version 25.1.0
void show ()

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

See also:

This site uses cookies to store your preferences for site-specific language and display options.

Get the latest Android developer news and tips that will help you find success on Google Play.

* Required Fields

Hooray!

Follow Google Developers on WeChat

Browse this site in ?

You requested a page in , but your language preference for this site is .

Would you like to change your language preference and browse this site in ? If you want to change your language preference later, use the language menu at the bottom of each page.

This class requires API level or higher

This doc is hidden because your selected API level for the documentation is . You can change the documentation API level with the selector above the left navigation.

For more information about specifying the API level your app requires, read Supporting Different Platform Versions.

Take a short survey?
Help us improve the Android developer experience.
(Sep 2017 survey)