android.support.v4.internal.view
Interface SupportMenuItem

All Superinterfaces:
android.view.MenuItem

public interface SupportMenuItem
extends android.view.MenuItem

Interface for direct access to a previously created menu item. This version extends the one available in the framework to ensures that any necessary elements added in later versions of the framework, are available for all platforms.

See Also:
MenuItem

Nested Class Summary
 
Nested classes/interfaces inherited from interface android.view.MenuItem
android.view.MenuItem.OnMenuItemClickListener
 
Field Summary
static int SHOW_AS_ACTION_ALWAYS
          Always show this item as a button in an Action Bar.
static int SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW
          This item's action view collapses to a normal menu item.
static int SHOW_AS_ACTION_IF_ROOM
          Show this item as a button in an Action Bar if the system decides there is room for it.
static int SHOW_AS_ACTION_NEVER
          Never show this item as a button in an Action Bar.
static int SHOW_AS_ACTION_WITH_TEXT
          When this item is in the action bar, always show it with a text label even if it also has an icon specified.
 
Method Summary
 boolean collapseActionView()
          Collapse the action view associated with this menu item.
 boolean expandActionView()
          Expand the action view associated with this menu item.
 android.view.View getActionView()
          Returns the currently set action view for this menu item.
 ActionProvider getSupportActionProvider()
          Gets the ActionProvider.
 boolean isActionViewExpanded()
          Returns true if this menu item's action view has been expanded.
 android.view.MenuItem setActionView(int resId)
          Set an action view for this menu item.
 android.view.MenuItem setActionView(android.view.View view)
          Set an action view for this menu item.
 void setShowAsAction(int actionEnum)
          Sets how this item should display in the presence of an Action Bar.
 android.view.MenuItem setShowAsActionFlags(int actionEnum)
          Sets how this item should display in the presence of an Action Bar.
 SupportMenuItem setSupportActionProvider(ActionProvider actionProvider)
          Sets the ActionProvider responsible for creating an action view if the item is placed on the action bar.
 SupportMenuItem setSupportOnActionExpandListener(MenuItemCompat.OnActionExpandListener listener)
          Set an MenuItemCompat.OnActionExpandListener on this menu item to be notified when the associated action view is expanded or collapsed.
 
Methods inherited from interface android.view.MenuItem
getAlphabeticShortcut, getGroupId, getIcon, getIntent, getItemId, getMenuInfo, getNumericShortcut, getOrder, getSubMenu, getTitle, getTitleCondensed, hasSubMenu, isCheckable, isChecked, isEnabled, isVisible, setAlphabeticShortcut, setCheckable, setChecked, setEnabled, setIcon, setIcon, setIntent, setNumericShortcut, setOnMenuItemClickListener, setShortcut, setTitle, setTitle, setTitleCondensed, setVisible
 

Field Detail

SHOW_AS_ACTION_NEVER

static final int SHOW_AS_ACTION_NEVER
Never show this item as a button in an Action Bar.

See Also:
Constant Field Values

SHOW_AS_ACTION_IF_ROOM

static final int SHOW_AS_ACTION_IF_ROOM
Show this item as a button in an Action Bar if the system decides there is room for it.

See Also:
Constant Field Values

SHOW_AS_ACTION_ALWAYS

static final int SHOW_AS_ACTION_ALWAYS
Always show this item as a button in an Action Bar. Use sparingly! If too many items are set to always show in the Action Bar it can crowd the Action Bar and degrade the user experience on devices with smaller screens. A good rule of thumb is to have no more than 2 items set to always show at a time.

See Also:
Constant Field Values

SHOW_AS_ACTION_WITH_TEXT

static final int SHOW_AS_ACTION_WITH_TEXT
When this item is in the action bar, always show it with a text label even if it also has an icon specified.

See Also:
Constant Field Values

SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW

static final int SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW
This item's action view collapses to a normal menu item. When expanded, the action view temporarily takes over a larger segment of its container.

See Also:
Constant Field Values
Method Detail

setShowAsAction

void setShowAsAction(int actionEnum)
Sets how this item should display in the presence of an Action Bar. The parameter actionEnum is a flag set. One of SHOW_AS_ACTION_ALWAYS, SHOW_AS_ACTION_IF_ROOM, or SHOW_AS_ACTION_NEVER should be used, and you may optionally OR the value with SHOW_AS_ACTION_WITH_TEXT. SHOW_AS_ACTION_WITH_TEXT requests that when the item is shown as an action, it should be shown with a text label.

Parameters:
actionEnum - 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.
See Also:
android.app.ActionBar, setActionView(View)

setShowAsActionFlags

android.view.MenuItem setShowAsActionFlags(int actionEnum)
Sets how this item should display in the presence of an Action Bar. The parameter actionEnum is a flag set. One of SHOW_AS_ACTION_ALWAYS, SHOW_AS_ACTION_IF_ROOM, or SHOW_AS_ACTION_NEVER should be used, and you may optionally OR the value with SHOW_AS_ACTION_WITH_TEXT. SHOW_AS_ACTION_WITH_TEXT requests that when the item is shown as an action, it should be shown with a text label.

Note: This method differs from setShowAsAction(int) only in that it returns the current MenuItem instance for call chaining.

Parameters:
actionEnum - 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:
This MenuItem instance for call chaining.
See Also:
android.app.ActionBar, setActionView(View)

setActionView

android.view.MenuItem setActionView(android.view.View view)
Set an action view for this menu item. An action view will be displayed in place of an automatically generated menu item element in the UI when this item is shown as an action within a parent.

Note: Setting an action view overrides the action provider provider set via setSupportActionProvider(android.support.v4.view.ActionProvider).

Parameters:
view - View to use for presenting this item to the user.
Returns:
This Item so additional setters can be called.
See Also:
setShowAsAction(int)

setActionView

android.view.MenuItem setActionView(int resId)
Set an action view for this menu item. An action view will be displayed in place of an automatically generated menu item element in the UI when this item is shown as an action within a parent.

Note: Setting an action view overrides the action provider provider set via setSupportActionProvider(android.support.v4.view.ActionProvider).

Parameters:
resId - Layout resource to use for presenting this item to the user.
Returns:
This Item so additional setters can be called.
See Also:
setShowAsAction(int)

getActionView

android.view.View getActionView()
Returns the currently set action view for this menu item.

Returns:
This item's action view
See Also:
setActionView(View), setShowAsAction(int)

setSupportActionProvider

SupportMenuItem setSupportActionProvider(ActionProvider actionProvider)
Sets the ActionProvider responsible for creating an action view if the item is placed on the action bar. The provider also provides a default action invoked if the item is placed in the overflow menu.

Note: Setting an action provider overrides the action view set via setActionView(int) or setActionView(View).

Parameters:
actionProvider - The action provider.
Returns:
This Item so additional setters can be called.
See Also:
ActionProvider

getSupportActionProvider

ActionProvider getSupportActionProvider()
Gets the ActionProvider.

Returns:
The action provider.
See Also:
ActionProvider, setSupportActionProvider(ActionProvider)

expandActionView

boolean expandActionView()
Expand the action view associated with this menu item. The menu item must have an action view set, as well as the showAsAction flag SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW. If a listener has been set using setSupportOnActionExpandListener(android.support.v4.view.MenuItemCompat.OnActionExpandListener) it will have its MenuItemCompat.OnActionExpandListener.onMenuItemActionExpand(MenuItem) method invoked. The listener may return false from this method to prevent expanding the action view.

Returns:
true if the action view was expanded, false otherwise.

collapseActionView

boolean collapseActionView()
Collapse the action view associated with this menu item. The menu item must have an action view set, as well as the showAsAction flag SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW. If a listener has been set using setSupportOnActionExpandListener(android.support.v4.view.MenuItemCompat.OnActionExpandListener) it will have its MenuItemCompat.OnActionExpandListener.onMenuItemActionCollapse(MenuItem) method invoked. The listener may return false from this method to prevent collapsing the action view.

Returns:
true if the action view was collapsed, false otherwise.

isActionViewExpanded

boolean isActionViewExpanded()
Returns true if this menu item's action view has been expanded.

Returns:
true if the item's action view is expanded, false otherwise.
See Also:
expandActionView(), collapseActionView(), SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW, MenuItemCompat.OnActionExpandListener

setSupportOnActionExpandListener

SupportMenuItem setSupportOnActionExpandListener(MenuItemCompat.OnActionExpandListener listener)
Set an MenuItemCompat.OnActionExpandListener on this menu item to be notified when the associated action view is expanded or collapsed. The menu item must be configured to expand or collapse its action view using the flag SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW.

Parameters:
listener - Listener that will respond to expand/collapse events
Returns:
This menu item instance for call chaining