public abstract class

ActionBar

extends Object
java.lang.Object
   ↳ android.app.ActionBar

Class Overview

This is the public interface to the contextual ActionBar. The ActionBar acts as a replacement for the title bar in Activities. It provides facilities for creating toolbar actions as well as methods of navigating around an application.

Summary

Nested Classes
class ActionBar.LayoutParams Per-child layout information associated with action bar custom views. 
interface ActionBar.OnMenuVisibilityListener Listener for receiving events when action bar menus are shown or hidden. 
interface ActionBar.OnNavigationListener Listener interface for ActionBar navigation events. 
class ActionBar.Tab A tab in the action bar. 
interface ActionBar.TabListener Callback interface invoked when a tab is focused, unfocused, added, or removed. 
Constants
int DISPLAY_HOME_AS_UP Display the 'home' element such that it appears as an 'up' affordance.
int DISPLAY_SHOW_CUSTOM Show the custom view if one has been set.
int DISPLAY_SHOW_HOME Show 'home' elements in this action bar, leaving more space for other navigation elements.
int DISPLAY_SHOW_TITLE Show the activity title and subtitle, if present.
int DISPLAY_USE_LOGO Use logo instead of icon if available.
int NAVIGATION_MODE_LIST List navigation mode.
int NAVIGATION_MODE_STANDARD Standard navigation mode.
int NAVIGATION_MODE_TABS Tab navigation mode.
Public Constructors
ActionBar()
Public Methods
abstract void addOnMenuVisibilityListener(ActionBar.OnMenuVisibilityListener listener)
Add a listener that will respond to menu visibility change events.
abstract void addTab(ActionBar.Tab tab)
Add a tab for use in tabbed navigation mode.
abstract void addTab(ActionBar.Tab tab, boolean setSelected)
Add a tab for use in tabbed navigation mode.
abstract void addTab(ActionBar.Tab tab, int position)
Add a tab for use in tabbed navigation mode.
abstract void addTab(ActionBar.Tab tab, int position, boolean setSelected)
Add a tab for use in tabbed navigation mode.
abstract View getCustomView()
abstract int getDisplayOptions()
abstract int getHeight()
Retrieve the current height of the ActionBar.
abstract int getNavigationItemCount()
Get the number of navigation items present in the current navigation mode.
abstract int getNavigationMode()
Returns the current navigation mode.
abstract int getSelectedNavigationIndex()
Get the position of the selected navigation item in list or tabbed navigation modes.
abstract ActionBar.Tab getSelectedTab()
Returns the currently selected tab if in tabbed navigation mode and there is at least one tab present.
abstract CharSequence getSubtitle()
Returns the current ActionBar subtitle in standard mode.
abstract ActionBar.Tab getTabAt(int index)
Returns the tab at the specified index.
abstract int getTabCount()
Returns the number of tabs currently registered with the action bar.
abstract CharSequence getTitle()
Returns the current ActionBar title in standard mode.
abstract void hide()
Hide the ActionBar if it is not currently showing.
abstract boolean isShowing()
abstract ActionBar.Tab newTab()
Create and return a new ActionBar.Tab.
abstract void removeAllTabs()
Remove all tabs from the action bar and deselect the current tab.
abstract void removeOnMenuVisibilityListener(ActionBar.OnMenuVisibilityListener listener)
Remove a menu visibility listener.
abstract void removeTab(ActionBar.Tab tab)
Remove a tab from the action bar.
abstract void removeTabAt(int position)
Remove a tab from the action bar.
abstract void selectTab(ActionBar.Tab tab)
Select the specified tab.
abstract void setBackgroundDrawable(Drawable d)
Set the ActionBar's background.
abstract void setCustomView(int resId)
Set the action bar into custom navigation mode, supplying a view for custom navigation.
abstract void setCustomView(View view)
Set the action bar into custom navigation mode, supplying a view for custom navigation.
abstract void setCustomView(View view, ActionBar.LayoutParams layoutParams)
Set the action bar into custom navigation mode, supplying a view for custom navigation.
abstract void setDisplayHomeAsUpEnabled(boolean showHomeAsUp)
Set whether home should be displayed as an "up" affordance.
abstract void setDisplayOptions(int options, int mask)
Set selected display options.
abstract void setDisplayOptions(int options)
Set display options.
abstract void setDisplayShowCustomEnabled(boolean showCustom)
Set whether a custom view should be displayed, if set.
abstract void setDisplayShowHomeEnabled(boolean showHome)
Set whether to include the application home affordance in the action bar.
abstract void setDisplayShowTitleEnabled(boolean showTitle)
Set whether an activity title/subtitle should be displayed.
abstract void setDisplayUseLogoEnabled(boolean useLogo)
Set whether to display the activity logo rather than the activity icon.
abstract void setListNavigationCallbacks(SpinnerAdapter adapter, ActionBar.OnNavigationListener callback)
Set the adapter and navigation callback for list navigation mode.
abstract void setNavigationMode(int mode)
Set the current navigation mode.
abstract void setSelectedNavigationItem(int position)
Set the selected navigation item in list or tabbed navigation modes.
abstract void setSubtitle(int resId)
Set the action bar's subtitle.
abstract void setSubtitle(CharSequence subtitle)
Set the action bar's subtitle.
abstract void setTitle(CharSequence title)
Set the action bar's title.
abstract void setTitle(int resId)
Set the action bar's title.
abstract void show()
Show the ActionBar if it is not currently showing.
[Expand]
Inherited Methods
From class java.lang.Object

Constants

public static final int DISPLAY_HOME_AS_UP

Since: API Level 11

Display the 'home' element such that it appears as an 'up' affordance. e.g. show an arrow to the left indicating the action that will be taken. Set this flag if selecting the 'home' button in the action bar to return up by a single level in your UI rather than back to the top level or front page.

Constant Value: 4 (0x00000004)

public static final int DISPLAY_SHOW_CUSTOM

Since: API Level 11

Show the custom view if one has been set.

Constant Value: 16 (0x00000010)

public static final int DISPLAY_SHOW_HOME

Since: API Level 11

Show 'home' elements in this action bar, leaving more space for other navigation elements. This includes logo and icon.

Constant Value: 2 (0x00000002)

public static final int DISPLAY_SHOW_TITLE

Since: API Level 11

Show the activity title and subtitle, if present.

Constant Value: 8 (0x00000008)

public static final int DISPLAY_USE_LOGO

Since: API Level 11

Use logo instead of icon if available. This flag will cause appropriate navigation modes to use a wider logo in place of the standard icon.

Constant Value: 1 (0x00000001)

public static final int NAVIGATION_MODE_LIST

Since: API Level 11

List navigation mode. Instead of static title text this mode presents a list menu for navigation within the activity. e.g. this might be presented to the user as a dropdown list.

Constant Value: 1 (0x00000001)

public static final int NAVIGATION_MODE_STANDARD

Since: API Level 11

Standard navigation mode. Consists of either a logo or icon and title text with an optional subtitle. Clicking any of these elements will dispatch onOptionsItemSelected to the host Activity with a MenuItem with item ID android.R.id.home.

Constant Value: 0 (0x00000000)

public static final int NAVIGATION_MODE_TABS

Since: API Level 11

Tab navigation mode. Instead of static title text this mode presents a series of tabs for navigation within the activity.

Constant Value: 2 (0x00000002)

Public Constructors

public ActionBar ()

Since: API Level 11

Public Methods

public abstract void addOnMenuVisibilityListener (ActionBar.OnMenuVisibilityListener listener)

Since: API Level 11

Add a listener that will respond to menu visibility change events.

Parameters
listener The new listener to add

public abstract void addTab (ActionBar.Tab tab)

Since: API Level 11

Add a tab for use in tabbed navigation mode. The tab will be added at the end of the list. If this is the first tab to be added it will become the selected tab.

Parameters
tab Tab to add

public abstract void addTab (ActionBar.Tab tab, boolean setSelected)

Since: API Level 11

Add a tab for use in tabbed navigation mode. The tab will be added at the end of the list.

Parameters
tab Tab to add
setSelected True if the added tab should become the selected tab.

public abstract void addTab (ActionBar.Tab tab, int position)

Since: API Level 11

Add a tab for use in tabbed navigation mode. The tab will be inserted at position. If this is the first tab to be added it will become the selected tab.

Parameters
tab The tab to add
position The new position of the tab

public abstract void addTab (ActionBar.Tab tab, int position, boolean setSelected)

Since: API Level 11

Add a tab for use in tabbed navigation mode. The tab will be insterted at position.

Parameters
tab The tab to add
position The new position of the tab
setSelected True if the added tab should become the selected tab.

public abstract View getCustomView ()

Since: API Level 11

Returns
  • The current custom view.

public abstract int getDisplayOptions ()

Since: API Level 11

Returns
  • The current set of display options.

public abstract int getHeight ()

Since: API Level 11

Retrieve the current height of the ActionBar.

Returns
  • The ActionBar's height

public abstract int getNavigationItemCount ()

Since: API Level 11

Get the number of navigation items present in the current navigation mode.

Returns
  • Number of navigation items.

public abstract int getSelectedNavigationIndex ()

Since: API Level 11

Get the position of the selected navigation item in list or tabbed navigation modes.

Returns
  • Position of the selected item.

public abstract ActionBar.Tab getSelectedTab ()

Since: API Level 11

Returns the currently selected tab if in tabbed navigation mode and there is at least one tab present.

Returns
  • The currently selected tab or null

public abstract CharSequence getSubtitle ()

Since: API Level 11

Returns the current ActionBar subtitle in standard mode. Returns null if getNavigationMode() would not return NAVIGATION_MODE_STANDARD.

Returns
  • The current ActionBar subtitle or null.

public abstract ActionBar.Tab getTabAt (int index)

Since: API Level 11

Returns the tab at the specified index.

Parameters
index Index value in the range 0-get

public abstract int getTabCount ()

Since: API Level 11

Returns the number of tabs currently registered with the action bar.

Returns
  • Tab count

public abstract CharSequence getTitle ()

Since: API Level 11

Returns the current ActionBar title in standard mode. Returns null if getNavigationMode() would not return NAVIGATION_MODE_STANDARD.

Returns
  • The current ActionBar title or null.

public abstract void hide ()

Since: API Level 11

Hide the ActionBar if it is not currently showing. If the window hosting the ActionBar does not have the feature FEATURE_ACTION_BAR_OVERLAY it will resize application content to fit the new space available.

public abstract boolean isShowing ()

Since: API Level 11

Returns
  • true if the ActionBar is showing, false otherwise.

public abstract ActionBar.Tab newTab ()

Since: API Level 11

Create and return a new ActionBar.Tab. This tab will not be included in the action bar until it is added.

Returns
  • A new Tab

public abstract void removeAllTabs ()

Since: API Level 11

Remove all tabs from the action bar and deselect the current tab.

public abstract void removeOnMenuVisibilityListener (ActionBar.OnMenuVisibilityListener listener)

Since: API Level 11

Remove a menu visibility listener. This listener will no longer receive menu visibility change events.

Parameters
listener A listener to remove that was previously added

public abstract void removeTab (ActionBar.Tab tab)

Since: API Level 11

Remove a tab from the action bar. If the removed tab was selected it will be deselected and another tab will be selected if present.

Parameters
tab The tab to remove

public abstract void removeTabAt (int position)

Since: API Level 11

Remove a tab from the action bar. If the removed tab was selected it will be deselected and another tab will be selected if present.

Parameters
position Position of the tab to remove

public abstract void selectTab (ActionBar.Tab tab)

Since: API Level 11

Select the specified tab. If it is not a child of this action bar it will be added.

Note: If you want to select by index, use setSelectedNavigationItem(int).

Parameters
tab Tab to select

public abstract void setBackgroundDrawable (Drawable d)

Since: API Level 11

Set the ActionBar's background.

Parameters
d Background drawable

public abstract void setCustomView (int resId)

Since: API Level 11

Set the action bar into custom navigation mode, supplying a view for custom navigation.

Custom navigation views appear between the application icon and any action buttons and may use any space available there. Common use cases for custom navigation views might include an auto-suggesting address bar for a browser or other navigation mechanisms that do not translate well to provided navigation modes.

The display option DISPLAY_SHOW_CUSTOM must be set for the custom view to be displayed.

Parameters
resId Resource ID of a layout to inflate into the ActionBar.

public abstract void setCustomView (View view)

Since: API Level 11

Set the action bar into custom navigation mode, supplying a view for custom navigation. Custom navigation views appear between the application icon and any action buttons and may use any space available there. Common use cases for custom navigation views might include an auto-suggesting address bar for a browser or other navigation mechanisms that do not translate well to provided navigation modes.

Parameters
view Custom navigation view to place in the ActionBar.

public abstract void setCustomView (View view, ActionBar.LayoutParams layoutParams)

Since: API Level 11

Set the action bar into custom navigation mode, supplying a view for custom navigation.

Custom navigation views appear between the application icon and any action buttons and may use any space available there. Common use cases for custom navigation views might include an auto-suggesting address bar for a browser or other navigation mechanisms that do not translate well to provided navigation modes.

The display option DISPLAY_SHOW_CUSTOM must be set for the custom view to be displayed.

Parameters
view Custom navigation view to place in the ActionBar.
layoutParams How this custom view should layout in the bar.

public abstract void setDisplayHomeAsUpEnabled (boolean showHomeAsUp)

Since: API Level 11

Set whether home should be displayed as an "up" affordance. Set this to true if selecting "home" returns up by a single level in your UI rather than back to the top level or front page.

To set several display options at once, see the setDisplayOptions methods.

Parameters
showHomeAsUp true to show the user that selecting home will return one level up rather than to the top level of the app.

public abstract void setDisplayOptions (int options, int mask)

Since: API Level 11

Set selected display options. Only the options specified by mask will be changed. To change all display option bits at once, see setDisplayOptions(int).

Example: setDisplayOptions(0, DISPLAY_SHOW_HOME) will disable the DISPLAY_SHOW_HOME option. setDisplayOptions(DISPLAY_SHOW_HOME, DISPLAY_SHOW_HOME | DISPLAY_USE_LOGO) will enable DISPLAY_SHOW_HOME and disable DISPLAY_USE_LOGO.

Parameters
options A combination of the bits defined by the DISPLAY_ constants defined in ActionBar.
mask A bit mask declaring which display options should be changed.

public abstract void setDisplayOptions (int options)

Since: API Level 11

Set display options. This changes all display option bits at once. To change a limited subset of display options, see setDisplayOptions(int, int).

Parameters
options A combination of the bits defined by the DISPLAY_ constants defined in ActionBar.

public abstract void setDisplayShowCustomEnabled (boolean showCustom)

Since: API Level 11

Set whether a custom view should be displayed, if set.

To set several display options at once, see the setDisplayOptions methods.

Parameters
showCustom true if the currently set custom view should be displayed, false otherwise.

public abstract void setDisplayShowHomeEnabled (boolean showHome)

Since: API Level 11

Set whether to include the application home affordance in the action bar. Home is presented as either an activity icon or logo.

To set several display options at once, see the setDisplayOptions methods.

Parameters
showHome true to show home, false otherwise.

public abstract void setDisplayShowTitleEnabled (boolean showTitle)

Since: API Level 11

Set whether an activity title/subtitle should be displayed.

To set several display options at once, see the setDisplayOptions methods.

Parameters
showTitle true to display a title/subtitle if present.

public abstract void setDisplayUseLogoEnabled (boolean useLogo)

Since: API Level 11

Set whether to display the activity logo rather than the activity icon. A logo is often a wider, more detailed image.

To set several display options at once, see the setDisplayOptions methods.

Parameters
useLogo true to use the activity logo, false to use the activity icon.

public abstract void setListNavigationCallbacks (SpinnerAdapter adapter, ActionBar.OnNavigationListener callback)

Since: API Level 11

Set the adapter and navigation callback for list navigation mode. The supplied adapter will provide views for the expanded list as well as the currently selected item. (These may be displayed differently.) The supplied OnNavigationListener will alert the application when the user changes the current list selection.

Parameters
adapter An adapter that will provide views both to display the current navigation selection and populate views within the dropdown navigation menu.
callback An OnNavigationListener that will receive events when the user selects a navigation item.

public abstract void setNavigationMode (int mode)

Since: API Level 11

Set the current navigation mode.

Parameters
mode The new mode to set.

public abstract void setSelectedNavigationItem (int position)

Since: API Level 11

Set the selected navigation item in list or tabbed navigation modes.

Parameters
position Position of the item to select.

public abstract void setSubtitle (int resId)

Since: API Level 11

Set the action bar's subtitle. This will only be displayed if DISPLAY_SHOW_TITLE is set.

Parameters
resId Resource ID of subtitle string to set

public abstract void setSubtitle (CharSequence subtitle)

Since: API Level 11

Set the action bar's subtitle. This will only be displayed if DISPLAY_SHOW_TITLE is set. Set to null to disable the subtitle entirely.

Parameters
subtitle Subtitle to set

public abstract void setTitle (CharSequence title)

Since: API Level 11

Set the action bar's title. This will only be displayed if DISPLAY_SHOW_TITLE is set.

Parameters
title Title to set

public abstract void setTitle (int resId)

Since: API Level 11

Set the action bar's title. This will only be displayed if DISPLAY_SHOW_TITLE is set.

Parameters
resId Resource ID of title string to set

public abstract void show ()

Since: API Level 11

Show the ActionBar if it is not currently showing. If the window hosting the ActionBar does not have the feature FEATURE_ACTION_BAR_OVERLAY it will resize application content to fit the new space available.