PopupMenu
open class PopupMenu
kotlin.Any | |
↳ | androidx.appcompat.widget.PopupMenu |
Static library support version of the framework's android.widget.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 | |
---|---|
abstract |
Callback interface used to notify the application that the menu has closed. |
abstract |
Interface responsible for receiving menu item click events if the items themselves do not have individual item click listeners. |
Public constructors | |
---|---|
Constructor to create a new popup menu with an anchor view. |
|
Constructor to create a new popup menu with an anchor view and alignment gravity. |
|
<init>(@NonNull context: Context, @NonNull anchor: View, gravity: Int, @AttrRes popupStyleAttr: Int, @StyleRes popupStyleRes: Int) Constructor a create a new popup menu with a specific style. |
Public methods | |
---|---|
open Unit |
dismiss() Dismiss the menu popup. |
open OnTouchListener |
Returns an |
open Int | |
open Menu |
getMenu() Returns the |
open MenuInflater | |
open Unit |
Inflate a menu resource into this PopupMenu. |
open Unit |
setGravity(gravity: Int) Sets the gravity used to align the popup window to its anchor view. |
open Unit |
setOnDismissListener(@Nullable listener: PopupMenu.OnDismissListener?) Sets a listener that will be notified when this menu is dismissed. |
open Unit |
setOnMenuItemClickListener(@Nullable listener: PopupMenu.OnMenuItemClickListener?) Sets a listener that will be notified when the user selects an item from the menu. |
open Unit |
show() Show the menu popup anchored to the view specified during construction. |
Public constructors
<init>
PopupMenu(
@NonNull context: Context,
@NonNull anchor: View)
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. |
<init>
PopupMenu(
@NonNull context: Context,
@NonNull anchor: View,
gravity: Int)
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. |
<init>
PopupMenu(
@NonNull context: Context,
@NonNull anchor: View,
gravity: Int,
@AttrRes popupStyleAttr: Int,
@StyleRes popupStyleRes: Int)
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
getDragToOpenListener
@NonNull open fun getDragToOpenListener(): OnTouchListener
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());
Return | |
---|---|
OnTouchListener |
a touch listener that controls drag-to-open behavior |
getGravity
open fun getGravity(): Int
Return | |
---|---|
Int |
the gravity used to align the popup window to its anchor view |
See Also
getMenu
@NonNull open fun getMenu(): Menu
Returns the Menu
associated with this popup. Populate the returned Menu with items before calling show()
.
Return | |
---|---|
Menu |
the Menu associated with this popup |
See Also
getMenuInflater
@NonNull open fun getMenuInflater(): MenuInflater
Return | |
---|---|
MenuInflater |
a MenuInflater that can be used to inflate menu items from XML into the menu returned by getMenu() |
See Also
inflate
open fun inflate(@MenuRes : Int): Unit
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
open fun setGravity(gravity: Int): Unit
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
open fun setOnDismissListener(@Nullable listener: PopupMenu.OnDismissListener?): Unit
Sets a listener that will be notified when this menu is dismissed.
Parameters | |
---|---|
listener |
PopupMenu.OnDismissListener?: the listener to notify |
setOnMenuItemClickListener
open fun setOnMenuItemClickListener(@Nullable listener: PopupMenu.OnMenuItemClickListener?): Unit
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
open fun show(): Unit
Show the menu popup anchored to the view specified during construction.
See Also