public interface MenuItem
android.view.MenuItem |
直接访问以前创建的菜单项的界面。
通过调用 add(int)
方法之一返回项目。
有关特定菜单类型的功能集,请参阅 Menu
。
有关创建菜单的信息,请阅读 Menus开发人员指南。
Nested classes |
|
---|---|
interface |
MenuItem.OnActionExpandListener 在标记为 |
interface |
MenuItem.OnMenuItemClickListener 在单击菜单项时调用回调的接口定义。 |
Constants |
|
---|---|
int |
SHOW_AS_ACTION_ALWAYS 始终将此项目显示为操作栏中的按钮。 |
int |
SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW 此项目的动作视图会折叠为正常的菜单项目。 |
int |
SHOW_AS_ACTION_IF_ROOM 如果系统决定有空间,请在操作栏中将该项目显示为按钮。 |
int |
SHOW_AS_ACTION_NEVER 切勿将此项目显示为操作栏中的按钮。 |
int |
SHOW_AS_ACTION_WITH_TEXT 当此项目位于操作栏中时,即使它还有指定的图标,也始终显示文本标签。 |
Public methods |
|
---|---|
abstract boolean |
collapseActionView() 折叠与此菜单项关联的操作视图。 |
abstract boolean |
expandActionView() 展开与此菜单项关联的操作视图。 |
abstract ActionProvider |
getActionProvider() 获取 |
abstract View |
getActionView() 返回此菜单项的当前设置的操作视图。 |
abstract char |
getAlphabeticShortcut() 返回此菜单项的字母快捷方式的字符。 |
abstract int |
getGroupId() 返回此菜单项所属的组标识符。 |
abstract Drawable |
getIcon() 以Drawable形式返回此项目的图标(如果之前未加载,则从资源中获取该图标)。 |
abstract Intent |
getIntent() 返回与此项目关联的意图。 |
abstract int |
getItemId() 返回此菜单项的标识符。 |
abstract ContextMenu.ContextMenuInfo |
getMenuInfo() 获取链接到此菜单项的额外信息。 |
abstract char |
getNumericShortcut() 返回此菜单项的数字(12键)快捷键的字符。 |
abstract int |
getOrder() 返回此项目类别内的类别和顺序。 |
abstract SubMenu |
getSubMenu() 当选择这个项目时,获取子菜单,如果它有一个。 |
abstract CharSequence |
getTitle() 检索项目的当前标题。 |
abstract CharSequence |
getTitleCondensed() 检索项目的当前缩略标题。 |
abstract boolean |
hasSubMenu() 检查此项目是否有关联的子菜单。 |
abstract boolean |
isActionViewExpanded() 如果此菜单项的操作视图已展开,则返回true。 |
abstract boolean |
isCheckable() 返回该项目是否可以显示复选标记。 |
abstract boolean |
isChecked() 返回项目当前是否显示复选标记。 |
abstract boolean |
isEnabled() 返回菜单项的启用状态。 |
abstract boolean |
isVisible() 返回菜单项的可见性。 |
abstract MenuItem |
setActionProvider(ActionProvider actionProvider) 如果项目放置在操作栏上,则设置负责创建操作视图的 |
abstract MenuItem |
setActionView(int resId) 为此菜单项设置一个操作视图。 |
abstract MenuItem |
setActionView(View view) 为此菜单项设置一个操作视图。 |
abstract MenuItem |
setAlphabeticShortcut(char alphaChar) 更改与此项目关联的字母快捷键。 |
abstract MenuItem |
setCheckable(boolean checkable) 控制此项目是否可以显示复选标记。 |
abstract MenuItem |
setChecked(boolean checked) 控制此项目是否带有复选标记。 |
abstract MenuItem |
setEnabled(boolean enabled) 设置菜单项是否启用。 |
abstract MenuItem |
setIcon(Drawable icon) 更改与此项目相关的图标。 |
abstract MenuItem |
setIcon(int iconRes) 更改与此项目相关的图标。 |
abstract MenuItem |
setIntent(Intent intent) 更改与此项目关联的意图。 |
abstract MenuItem |
setNumericShortcut(char numericChar) 更改与此项目关联的数字快捷键。 |
abstract MenuItem |
setOnActionExpandListener(MenuItem.OnActionExpandListener listener) 在 |
abstract MenuItem |
setOnMenuItemClickListener(MenuItem.OnMenuItemClickListener menuItemClickListener) 设置用于调用此菜单项的自定义侦听器。 |
abstract MenuItem |
setShortcut(char numericChar, char alphaChar) 更改与此项目相关的数字和字母快捷键。 |
abstract void |
setShowAsAction(int actionEnum) 设置在出现操作栏时该项目应如何显示。 |
abstract MenuItem |
setShowAsActionFlags(int actionEnum) 设置在出现操作栏时该项目应如何显示。 |
abstract MenuItem |
setTitle(CharSequence title) 更改与此项目相关的标题。 |
abstract MenuItem |
setTitle(int title) 更改与此项目相关的标题。 |
abstract MenuItem |
setTitleCondensed(CharSequence title) 更改与此项目关联的精简标题。 |
abstract MenuItem |
setVisible(boolean visible) 设置菜单项的可见性。 |
int SHOW_AS_ACTION_ALWAYS
始终将此项目显示为操作栏中的按钮。 谨慎使用! 如果太多的项目被设置为始终显示在操作栏中,则它可以挤占操作栏并降低具有较小屏幕的设备上的用户体验。 一个好的经验法则是不要超过2个项目设置为始终显示。
常量值:2(0x00000002)
int SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW
此项目的动作视图会折叠为正常的菜单项目。 展开后,动作视图暂时占据其容器的较大部分。
常量值:8(0x00000008)
int SHOW_AS_ACTION_IF_ROOM
如果系统决定有空间,请在操作栏中将该项目显示为按钮。
常数值:1(0x00000001)
int SHOW_AS_ACTION_NEVER
切勿将此项目显示为操作栏中的按钮。
常量值:0(0x00000000)
int SHOW_AS_ACTION_WITH_TEXT
当此项目位于操作栏中时,即使它还有指定的图标,也始终显示文本标签。
常量值:4(0x00000004)
boolean collapseActionView ()
折叠与此菜单项关联的操作视图。 菜单项必须有一个操作视图集,以及showAsAction标志SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW
。 如果已经使用setOnActionExpandListener(OnActionExpandListener)
设置了侦听setOnActionExpandListener(OnActionExpandListener)
,则将调用其onMenuItemActionCollapse(MenuItem)
方法。 监听器可能会从此方法返回false以防止折叠操作视图。
Returns | |
---|---|
boolean |
true if the action view was collapsed, false otherwise. |
boolean expandActionView ()
展开与此菜单项关联的操作视图。 该菜单项必须有一个操作视图集,以及showAsAction标志SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW
。 如果已经使用setOnActionExpandListener(OnActionExpandListener)
设置了侦听setOnActionExpandListener(OnActionExpandListener)
,则将调用其onMenuItemActionExpand(MenuItem)
方法。 监听器可能会从此方法返回false以防止扩大操作视图。
Returns | |
---|---|
boolean |
true if the action view was expanded, false otherwise. |
ActionProvider getActionProvider ()
获取 ActionProvider
。
Returns | |
---|---|
ActionProvider |
The action provider. |
View getActionView ()
返回此菜单项的当前设置的操作视图。
Returns | |
---|---|
View |
This item's action view |
char getAlphabeticShortcut ()
返回此菜单项的字母快捷方式的字符。
Returns | |
---|---|
char |
Alphabetic character to use as a shortcut. |
int getGroupId ()
返回此菜单项所属的组标识符。 菜单创建后,组标识符不能更改。
Returns | |
---|---|
int |
The menu item's group identifier. |
Drawable getIcon ()
以Drawable形式返回此项目的图标(如果之前未加载,则从资源中获取该图标)。
Returns | |
---|---|
Drawable |
The icon as a Drawable. |
Intent getIntent ()
返回与此项目关联的意图。 这会返回对Intent的引用,您可以根据需要更改它以修改Item所持有的内容。
Returns | |
---|---|
Intent |
Returns the last value supplied to setIntent(Intent) , or null. |
也可以看看:
int getItemId ()
返回此菜单项的标识符。 创建菜单后,标识符不能更改。
Returns | |
---|---|
int |
The menu item's identifier. |
ContextMenu.ContextMenuInfo getMenuInfo ()
获取链接到此菜单项的额外信息。 这个额外的信息是由将菜单项添加到菜单的视图设置的。
Returns | |
---|---|
ContextMenu.ContextMenuInfo |
The extra information linked to the View that added this menu item to the menu. This can be null. |
char getNumericShortcut ()
返回此菜单项的数字(12键)快捷键的字符。
Returns | |
---|---|
char |
Numeric character to use as a shortcut. |
int getOrder ()
返回此项目类别内的类别和顺序。 该项目将在订单大于此值的所有项目(在其类别中)之前显示。
订单整数包含项目的类别(整数的高位;通过或/添加具有类别内的顺序的类别)以及该类别内的项目的顺序(较低位)。 示例类别是CATEGORY_SYSTEM
, CATEGORY_SECONDARY
, CATEGORY_ALTERNATIVE
, CATEGORY_CONTAINER
。 完整列表见Menu
。
Returns | |
---|---|
int |
The order of this item. |
SubMenu getSubMenu ()
当选择这个项目时,获取子菜单,如果它有一个。 见hasSubMenu()
。
Returns | |
---|---|
SubMenu |
The associated menu if there is one, else null |
CharSequence getTitleCondensed ()
检索项目的当前缩略标题。 如果浓缩标题从未设置,它将返回正常标题。
Returns | |
---|---|
CharSequence |
The condensed title, if it exists. Otherwise the normal title. |
boolean hasSubMenu ()
检查此项目是否有关联的子菜单。 即它是另一个菜单的子菜单。
Returns | |
---|---|
boolean |
If true this item has a menu; else it is a normal item. |
boolean isActionViewExpanded ()
如果此菜单项的操作视图已展开,则返回true。
Returns | |
---|---|
boolean |
true if the item's action view is expanded, false otherwise. |
boolean isCheckable ()
返回该项目是否可以显示复选标记。
Returns | |
---|---|
boolean |
If a check mark can be displayed, returns true. |
也可以看看:
boolean isChecked ()
返回项目当前是否显示复选标记。
Returns | |
---|---|
boolean |
If a check mark is displayed, returns true. |
也可以看看:
boolean isEnabled ()
返回菜单项的启用状态。
Returns | |
---|---|
boolean |
If true the item is enabled and hence invokable; else it is not. |
boolean isVisible ()
返回菜单项的可见性。
Returns | |
---|---|
boolean |
If true the item is visible; else it is hidden. |
MenuItem setActionProvider (ActionProvider actionProvider)
如果项目放置在操作栏上,则设置负责创建操作视图的ActionProvider
。 如果项目放置在溢出菜单中,提供程序还会提供默认操作。
注意:设置操作提供程序将覆盖通过 setActionView(int)
或 setActionView(View)
设置的操作视图。
Parameters | |
---|---|
actionProvider |
ActionProvider : The action provider. |
Returns | |
---|---|
MenuItem |
This Item so additional setters can be called. |
也可以看看:
MenuItem setActionView (int resId)
为此菜单项设置一个操作视图。 当此项目显示为父级内的操作时,将会显示一个操作视图来代替UI中自动生成的菜单项元素。
注意:设置操作视图将覆盖通过 setActionProvider(ActionProvider)
设置的操作提供程序。
Parameters | |
---|---|
resId |
int : Layout resource to use for presenting this item to the user. |
Returns | |
---|---|
MenuItem |
This Item so additional setters can be called. |
也可以看看:
MenuItem setActionView (View view)
为此菜单项设置一个操作视图。 当此项目显示为父级内的操作时,将会显示一个操作视图来代替UI中自动生成的菜单项元素。
注意:设置操作视图将覆盖通过 setActionProvider(ActionProvider)
设置的操作提供者。
Parameters | |
---|---|
view |
View : View to use for presenting this item to the user. |
Returns | |
---|---|
MenuItem |
This Item so additional setters can be called. |
也可以看看:
MenuItem setAlphabeticShortcut (char alphaChar)
更改与此项目关联的字母快捷键。 当生成给定字符的键与ctrl键一起按下时,快捷键将被触发。 案例不重要,快捷字符将以小写显示。 请注意,带有字符'\ b'或'\ n'作为快捷键的菜单项将分别由Delete键或回车键触发。
有关支持快捷方式的菜单类型,请参见 Menu
。
Parameters | |
---|---|
alphaChar |
char : The alphabetic shortcut key. This is the shortcut when using a keyboard with alphabetic keys. |
Returns | |
---|---|
MenuItem |
This Item so additional setters can be called. |
MenuItem setCheckable (boolean checkable)
控制此项目是否可以显示复选标记。 设置它实际上并不显示复选标记(请参阅setChecked(boolean)
); 而是确保在显示复选标记的项目中有空间。
有关支持复选标记的菜单类型,请参见 Menu
。
Parameters | |
---|---|
checkable |
boolean : Set to true to allow a check mark, false to disallow. The default is false. |
Returns | |
---|---|
MenuItem |
This Item so additional setters can be called. |
MenuItem setChecked (boolean checked)
控制此项目是否带有复选标记。 请注意,您必须先启用setCheckable(boolean)
检查,否则复选标记将不会出现。 如果此项目是包含互斥项目的组的成员(通过setGroupCheckable(int, boolean, boolean)
设置,组中的其他项目将被取消选中。
有关支持复选标记的菜单类型,请参见 Menu
。
Parameters | |
---|---|
checked |
boolean : Set to true to display a check mark, false to hide it. The default value is false. |
Returns | |
---|---|
MenuItem |
This Item so additional setters can be called. |
MenuItem setEnabled (boolean enabled)
设置菜单项是否启用。 禁用菜单项将不允许通过其快捷方式调用它。 菜单项仍然可见。
Parameters | |
---|---|
enabled |
boolean : If true then the item will be invokable; if false it is won't be invokable. |
Returns | |
---|---|
MenuItem |
This Item so additional setters can be called. |
MenuItem setIcon (Drawable icon)
更改与此项目相关的图标。 这个图标并不总是显示,所以标题应该足以描述这个项目。 有关支持图标的菜单类型,请参见Menu
。
Parameters | |
---|---|
icon |
Drawable : The new icon (as a Drawable) to be displayed. |
Returns | |
---|---|
MenuItem |
This Item so additional setters can be called. |
MenuItem setIcon (int iconRes)
更改与此项目相关的图标。 这个图标并不总是显示,所以标题应该足以描述这个项目。 有关支持图标的菜单类型,请参阅Menu
。
此方法将设置图标的资源ID,在显示此项目时将使用该图标延迟获取Drawable。
Parameters | |
---|---|
iconRes |
int : The new icon (as a resource ID) to be displayed. |
Returns | |
---|---|
MenuItem |
This Item so additional setters can be called. |
MenuItem setIntent (Intent intent)
更改与此项目关联的意图。 默认情况下,没有与菜单项关联的Intent。 如果您设置了一个,并且没有其他处理该项目,那么默认行为是使用给定的Intent调用startActivity(Intent)
。
请注意,setIntent()不能用于带有Runnable的版本add(int)
,因为run()
不会返回值,因此无法确定是否处理该项目。 在这种情况下,假定Runnable始终处理该项目,并且意图永远不会启动。
Parameters | |
---|---|
intent |
Intent : The Intent to associated with the item. This Intent object is not copied, so be careful not to modify it later. |
Returns | |
---|---|
MenuItem |
This Item so additional setters can be called. |
也可以看看:
MenuItem setNumericShortcut (char numericChar)
更改与此项目关联的数字快捷键。
有关支持快捷方式的菜单类型,请参见 Menu
。
Parameters | |
---|---|
numericChar |
char : The numeric shortcut key. This is the shortcut when using a 12-key (numeric) keyboard. |
Returns | |
---|---|
MenuItem |
This Item so additional setters can be called. |
MenuItem setOnActionExpandListener (MenuItem.OnActionExpandListener listener)
在MenuItem.OnActionExpandListener
上设置MenuItem.OnActionExpandListener
,以便在关联的操作视图展开或折叠时收到通知。 该菜单项必须配置为使用标志SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW
展开或折叠其操作视图。
Parameters | |
---|---|
listener |
MenuItem.OnActionExpandListener : Listener that will respond to expand/collapse events |
Returns | |
---|---|
MenuItem |
This menu item instance for call chaining |
MenuItem setOnMenuItemClickListener (MenuItem.OnMenuItemClickListener menuItemClickListener)
设置用于调用此菜单项的自定义侦听器。 在大多数情况下,使用onOptionsItemSelected(MenuItem)
或onContextItemSelected(MenuItem)
效率更高,更容易。
Parameters | |
---|---|
menuItemClickListener |
MenuItem.OnMenuItemClickListener : The object to receive invokations. |
Returns | |
---|---|
MenuItem |
This Item so additional setters can be called. |
MenuItem setShortcut (char numericChar, char alphaChar)
更改与此项目相关的数字和字母快捷键。 请注意,当按住ctrl键的同时按下生成给定字符的按键时,将会触发快捷方式。 另请注意,该情况并不重要,字母快捷字符将以小写显示。
有关支持快捷方式的菜单类型,请参见 Menu
。
Parameters | |
---|---|
numericChar |
char : The numeric shortcut key. This is the shortcut when using a numeric (e.g., 12-key) keyboard. |
alphaChar |
char : The alphabetic shortcut key. This is the shortcut when using a keyboard with alphabetic keys. |
Returns | |
---|---|
MenuItem |
This Item so additional setters can be called. |
void setShowAsAction (int actionEnum)
设置在出现操作栏时该项目应如何显示。 参数actionEnum是一个标志集。 一个SHOW_AS_ACTION_ALWAYS
, SHOW_AS_ACTION_IF_ROOM
,或SHOW_AS_ACTION_NEVER
应该被使用,则可以选择:或价值SHOW_AS_ACTION_WITH_TEXT
。 SHOW_AS_ACTION_WITH_TEXT请求在项目显示为动作时,应该显示文本标签。
Parameters | |
---|---|
actionEnum |
int : How the item should display. One of SHOW_AS_ACTION_ALWAYS , SHOW_AS_ACTION_IF_ROOM , or SHOW_AS_ACTION_NEVER . SHOW_AS_ACTION_NEVER is the default. |
也可以看看:
MenuItem setShowAsActionFlags (int actionEnum)
设置在出现操作栏时该项目应如何显示。 参数actionEnum是一个标志集。 一个SHOW_AS_ACTION_ALWAYS
, SHOW_AS_ACTION_IF_ROOM
,或SHOW_AS_ACTION_NEVER
应该被使用,则可以选择:或价值SHOW_AS_ACTION_WITH_TEXT
。 SHOW_AS_ACTION_WITH_TEXT请求在项目显示为动作时,应该显示文本标签。
注意:此方法与 setShowAsAction(int)
不同之处仅在于它返回当前用于调用链接的MenuItem实例。
Parameters | |
---|---|
actionEnum |
int : How the item should display. One of SHOW_AS_ACTION_ALWAYS , SHOW_AS_ACTION_IF_ROOM , or SHOW_AS_ACTION_NEVER . SHOW_AS_ACTION_NEVER is the default. |
Returns | |
---|---|
MenuItem |
This MenuItem instance for call chaining. |
也可以看看:
MenuItem setTitle (CharSequence title)
更改与此项目相关的标题。
Parameters | |
---|---|
title |
CharSequence : The new text to be displayed. |
Returns | |
---|---|
MenuItem |
This Item so additional setters can be called. |
MenuItem setTitle (int title)
更改与此项目相关的标题。
某些菜单类型没有足够的空间显示完整标题,而是优先使用精简标题。 有关更多信息,请参阅Menu
。
Parameters | |
---|---|
title |
int : The resource id of the new text to be displayed. |
Returns | |
---|---|
MenuItem |
This Item so additional setters can be called. |
MenuItem setTitleCondensed (CharSequence title)
更改与此项目关联的精简标题。 浓缩标题用于常规标题可能太长而无法显示的情况。
Parameters | |
---|---|
title |
CharSequence : The new text to be displayed as the condensed title. |
Returns | |
---|---|
MenuItem |
This Item so additional setters can be called. |
MenuItem setVisible (boolean visible)
设置菜单项的可见性。 即使菜单项不可见,也可能通过其快捷方式调用它(要完全禁用某个项目,将其设置为不可见并且disabled
)。
Parameters | |
---|---|
visible |
boolean : If true then the item will be visible; if false it is hidden. |
Returns | |
---|---|
MenuItem |
This Item so additional setters can be called. |