Android APIs
public abstract class

ActionBar

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

Class Overview

A primary toolbar within the activity that may display the activity title, application-level navigation affordances, and other interactive items.

Beginning with Android 3.0 (API level 11), the action bar appears at the top of an activity's window when the activity uses the system's Holo theme (or one of its descendant themes), which is the default. You may otherwise add the action bar by calling requestFeature(FEATURE_ACTION_BAR) or by declaring it in a custom theme with the windowActionBar property.

Beginning with Android L (API level 21), the action bar may be represented by any Toolbar widget within the application layout. The application may signal to the Activity which Toolbar should be treated as the Activity's action bar. Activities that use this feature should use one of the supplied .NoActionBar themes, set the windowActionBar attribute to false or otherwise not request the window feature.

By adjusting the window features requested by the theme and the layouts used for an Activity's content view, an app can use the standard system action bar on older platform releases and the newer inline toolbars on newer platform releases. The ActionBar object obtained from the Activity can be used to control either configuration transparently.

When using the Holo themes the action bar shows the application icon on the left, followed by the activity title. If your activity has an options menu, you can make select items accessible directly from the action bar as "action items". You can also modify various characteristics of the action bar or remove it completely.

When using the Material themes (default in API 21 or newer) the navigation button (formerly "Home") takes over the space previously occupied by the application icon. Apps wishing to express a stronger branding should use their brand colors heavily in the action bar and other application chrome or use a logo in place of their standard title text.

From your activity, you can retrieve an instance of ActionBar by calling getActionBar().

In some cases, the action bar may be overlayed by another bar that enables contextual actions, using an ActionMode. For example, when the user selects one or more items in your activity, you can enable an action mode that offers actions specific to the selected items, with a UI that temporarily replaces the action bar. Although the UI may occupy the same space, the ActionMode APIs are distinct and independent from those for ActionBar.

Developer Guides

For information about how to use the action bar, including how to add action items, navigation modes and more, read the Action Bar developer guide.

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 This interface is deprecated. Action bar navigation modes are deprecated and not supported by inline toolbar action bars. Consider using other common navigation patterns instead.  
class ActionBar.Tab This class is deprecated. Action bar navigation modes are deprecated and not supported by inline toolbar action bars. Consider using other common navigation patterns instead.  
interface ActionBar.TabListener This interface is deprecated. Action bar navigation modes are deprecated and not supported by inline toolbar action bars. Consider using other common navigation patterns instead.  
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 This constant is deprecated. Action bar navigation modes are deprecated and not supported by inline toolbar action bars. Consider using other common navigation patterns instead.
int NAVIGATION_MODE_STANDARD This constant is deprecated. Action bar navigation modes are deprecated and not supported by inline toolbar action bars. Consider using other common navigation patterns instead.
int NAVIGATION_MODE_TABS This constant is deprecated. Action bar navigation modes are deprecated and not supported by inline toolbar action bars. Consider using other common navigation patterns instead.
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, boolean setSelected)
This method is deprecated. Action bar navigation modes are deprecated and not supported by inline toolbar action bars. Consider using other common navigation patterns instead.
abstract void addTab(ActionBar.Tab tab, int position)
This method is deprecated. Action bar navigation modes are deprecated and not supported by inline toolbar action bars. Consider using other common navigation patterns instead.
abstract void addTab(ActionBar.Tab tab, int position, boolean setSelected)
This method is deprecated. Action bar navigation modes are deprecated and not supported by inline toolbar action bars. Consider using other common navigation patterns instead.
abstract void addTab(ActionBar.Tab tab)
This method is deprecated. Action bar navigation modes are deprecated and not supported by inline toolbar action bars. Consider using other common navigation patterns instead.
abstract View getCustomView()
abstract int getDisplayOptions()
abstract int getHeight()
Retrieve the current height of the ActionBar.
int getHideOffset()
Return the current vertical offset of the action bar.
abstract int getNavigationItemCount()
This method is deprecated. Action bar navigation modes are deprecated and not supported by inline toolbar action bars. Consider using other common navigation patterns instead.
abstract int getNavigationMode()
This method is deprecated. Action bar navigation modes are deprecated and not supported by inline toolbar action bars. Consider using other common navigation patterns instead.
abstract int getSelectedNavigationIndex()
This method is deprecated. Action bar navigation modes are deprecated and not supported by inline toolbar action bars. Consider using other common navigation patterns instead.
abstract ActionBar.Tab getSelectedTab()
This method is deprecated. Action bar navigation modes are deprecated and not supported by inline toolbar action bars. Consider using other common navigation patterns instead.
abstract CharSequence getSubtitle()
Returns the current ActionBar subtitle in standard mode.
abstract ActionBar.Tab getTabAt(int index)
This method is deprecated. Action bar navigation modes are deprecated and not supported by inline toolbar action bars. Consider using other common navigation patterns instead.
abstract int getTabCount()
This method is deprecated. Action bar navigation modes are deprecated and not supported by inline toolbar action bars. Consider using other common navigation patterns instead.
Context getThemedContext()
Returns a Context with an appropriate theme for creating views that will appear in the action bar.
abstract CharSequence getTitle()
Returns the current ActionBar title in standard mode.
abstract void hide()
Hide the ActionBar if it is currently showing.
boolean isHideOnContentScrollEnabled()
Return whether the action bar is configured to scroll out of sight along with a nested scrolling child.
abstract boolean isShowing()
abstract ActionBar.Tab newTab()
This method is deprecated. Action bar navigation modes are deprecated and not supported by inline toolbar action bars. Consider using other common navigation patterns instead.
abstract void removeAllTabs()
This method is deprecated. Action bar navigation modes are deprecated and not supported by inline toolbar action bars. Consider using other common navigation patterns instead.
abstract void removeOnMenuVisibilityListener(ActionBar.OnMenuVisibilityListener listener)
Remove a menu visibility listener.
abstract void removeTab(ActionBar.Tab tab)
This method is deprecated. Action bar navigation modes are deprecated and not supported by inline toolbar action bars. Consider using other common navigation patterns instead.
abstract void removeTabAt(int position)
This method is deprecated. Action bar navigation modes are deprecated and not supported by inline toolbar action bars. Consider using other common navigation patterns instead.
abstract void selectTab(ActionBar.Tab tab)
This method is deprecated. Action bar navigation modes are deprecated and not supported by inline toolbar action bars. Consider using other common navigation patterns instead.
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.
void setHideOffset(int offset)
Set the current hide offset of the action bar.
void setHideOnContentScrollEnabled(boolean hideOnContentScroll)
Enable hiding the action bar on content scroll.
void setHomeActionContentDescription(CharSequence description)
Set an alternate description for the Home/Up action, when enabled.
void setHomeActionContentDescription(int resId)
Set an alternate description for the Home/Up action, when enabled.
void setHomeAsUpIndicator(Drawable indicator)
Set an alternate drawable to display next to the icon/logo/title when DISPLAY_HOME_AS_UP is enabled.
void setHomeAsUpIndicator(int resId)
Set an alternate drawable to display next to the icon/logo/title when DISPLAY_HOME_AS_UP is enabled.
void setHomeButtonEnabled(boolean enabled)
Enable or disable the "home" button in the corner of the action bar.
abstract void setIcon(Drawable icon)
Set the icon to display in the 'home' section of the action bar.
abstract void setIcon(int resId)
Set the icon to display in the 'home' section of the action bar.
abstract void setListNavigationCallbacks(SpinnerAdapter adapter, ActionBar.OnNavigationListener callback)
This method is deprecated. Action bar navigation modes are deprecated and not supported by inline toolbar action bars. Consider using other common navigation patterns instead.
abstract void setLogo(int resId)
Set the logo to display in the 'home' section of the action bar.
abstract void setLogo(Drawable logo)
Set the logo to display in the 'home' section of the action bar.
abstract void setNavigationMode(int mode)
This method is deprecated. Action bar navigation modes are deprecated and not supported by inline toolbar action bars. Consider using other common navigation patterns instead.
abstract void setSelectedNavigationItem(int position)
This method is deprecated. Action bar navigation modes are deprecated and not supported by inline toolbar action bars. Consider using other common navigation patterns instead.
void setSplitBackgroundDrawable(Drawable d)
Set the ActionBar's split background.
void setStackedBackgroundDrawable(Drawable d)
Set the ActionBar's stacked background.
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(int resId)
Set the action bar's title.
abstract void setTitle(CharSequence title)
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

Added in 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.

Setting this option will implicitly enable interaction with the home/up button. See setHomeButtonEnabled(boolean).

Constant Value: 4 (0x00000004)

public static final int DISPLAY_SHOW_CUSTOM

Added in API level 11

Show the custom view if one has been set.

Constant Value: 16 (0x00000010)

public static final int DISPLAY_SHOW_HOME

Added in 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

Added in API level 11

Show the activity title and subtitle, if present.

Constant Value: 8 (0x00000008)

public static final int DISPLAY_USE_LOGO

Added in 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

Added in API level 11

This constant is deprecated.
Action bar navigation modes are deprecated and not supported by inline toolbar action bars. Consider using other common navigation patterns instead.

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

Added in API level 11

This constant is deprecated.
Action bar navigation modes are deprecated and not supported by inline toolbar action bars. Consider using other common navigation patterns instead.

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

Added in API level 11

This constant is deprecated.
Action bar navigation modes are deprecated and not supported by inline toolbar action bars. Consider using other common navigation patterns instead.

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 ()

Added in API level 11

Public Methods

public abstract void addOnMenuVisibilityListener (ActionBar.OnMenuVisibilityListener listener)

Added in 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, boolean setSelected)

Added in API level 11

This method is deprecated.
Action bar navigation modes are deprecated and not supported by inline toolbar action bars. Consider using other common navigation patterns instead.

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)

Added in API level 11

This method is deprecated.
Action bar navigation modes are deprecated and not supported by inline toolbar action bars. Consider using other common navigation patterns instead.

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)

Added in API level 11

This method is deprecated.
Action bar navigation modes are deprecated and not supported by inline toolbar action bars. Consider using other common navigation patterns instead.

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 void addTab (ActionBar.Tab tab)

Added in API level 11

This method is deprecated.
Action bar navigation modes are deprecated and not supported by inline toolbar action bars. Consider using other common navigation patterns instead.

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 View getCustomView ()

Added in API level 11

Returns
  • The current custom view.

public abstract int getDisplayOptions ()

Added in API level 11

Returns
  • The current set of display options.

public abstract int getHeight ()

Added in API level 11

Retrieve the current height of the ActionBar.

Returns
  • The ActionBar's height

public int getHideOffset ()

Return the current vertical offset of the action bar.

The action bar's current hide offset is the distance that the action bar is currently scrolled offscreen in pixels. The valid range is 0 (fully visible) to the action bar's current measured height (fully invisible).

Returns
  • The action bar's offset toward its fully hidden state in pixels

public abstract int getNavigationItemCount ()

Added in API level 11

This method is deprecated.
Action bar navigation modes are deprecated and not supported by inline toolbar action bars. Consider using other common navigation patterns instead.

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

Returns
  • Number of navigation items.

public abstract int getNavigationMode ()

Added in API level 11

This method is deprecated.
Action bar navigation modes are deprecated and not supported by inline toolbar action bars. Consider using other common navigation patterns instead.

Returns the current navigation mode. The result will be one of:

Returns
  • The current navigation mode.

public abstract int getSelectedNavigationIndex ()

Added in API level 11

This method is deprecated.
Action bar navigation modes are deprecated and not supported by inline toolbar action bars. Consider using other common navigation patterns instead.

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 ()

Added in API level 11

This method is deprecated.
Action bar navigation modes are deprecated and not supported by inline toolbar action bars. Consider using other common navigation patterns instead.

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 ()

Added in 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)

Added in API level 11

This method is deprecated.
Action bar navigation modes are deprecated and not supported by inline toolbar action bars. Consider using other common navigation patterns instead.

Returns the tab at the specified index.

Parameters
index Index value in the range 0-get

public abstract int getTabCount ()

Added in API level 11

This method is deprecated.
Action bar navigation modes are deprecated and not supported by inline toolbar action bars. Consider using other common navigation patterns instead.

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

Returns
  • Tab count

public Context getThemedContext ()

Added in API level 14

Returns a Context with an appropriate theme for creating views that will appear in the action bar. If you are inflating or instantiating custom views that will appear in an action bar, you should use the Context returned by this method. (This includes adapters used for list navigation mode.) This will ensure that views contrast properly against the action bar.

Returns
  • A themed Context for creating views

public abstract CharSequence getTitle ()

Added in 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 ()

Added in API level 11

Hide the ActionBar if it is 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.

Instead of calling this function directly, you can also cause an ActionBar using the overlay feature to hide through View.SYSTEM_UI_FLAG_FULLSCREEN. Hiding the ActionBar through this system UI flag allows you to more seamlessly hide it in conjunction with other screen decorations.

public boolean isHideOnContentScrollEnabled ()

Return whether the action bar is configured to scroll out of sight along with a nested scrolling child.

Returns
  • true if hide-on-content-scroll is enabled

public abstract boolean isShowing ()

Added in API level 11

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

public abstract ActionBar.Tab newTab ()

Added in API level 11

This method is deprecated.
Action bar navigation modes are deprecated and not supported by inline toolbar action bars. Consider using other common navigation patterns instead.

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

Very often tabs will be used to switch between Fragment objects. Here is a typical implementation of such tabs:

import android.app.ActionBar;
import android.app.ActionBar.Tab;
import android.app.Activity;
import android.app.Fragment;
import android.app.FragmentTransaction;
import android.os.Bundle;
import android.widget.Toast;

/**
 * This demonstrates the use of action bar tabs and how they interact
 * with other action bar features.
 */
public class FragmentTabs extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        final ActionBar bar = getActionBar();
        bar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
        bar.setDisplayOptions(0, ActionBar.DISPLAY_SHOW_TITLE);

        bar.addTab(bar.newTab()
                .setText("Simple")
                .setTabListener(new TabListener<FragmentStack.CountingFragment>(
                        this, "simple", FragmentStack.CountingFragment.class)));
        bar.addTab(bar.newTab()
                .setText("Contacts")
                .setTabListener(new TabListener<LoaderCursor.CursorLoaderListFragment>(
                        this, "contacts", LoaderCursor.CursorLoaderListFragment.class)));
        bar.addTab(bar.newTab()
                .setText("Apps")
                .setTabListener(new TabListener<LoaderCustom.AppListFragment>(
                        this, "apps", LoaderCustom.AppListFragment.class)));
        bar.addTab(bar.newTab()
                .setText("Throttle")
                .setTabListener(new TabListener<LoaderThrottle.ThrottledLoaderListFragment>(
                        this, "throttle", LoaderThrottle.ThrottledLoaderListFragment.class)));

        if (savedInstanceState != null) {
            bar.setSelectedNavigationItem(savedInstanceState.getInt("tab", 0));
        }
    }

    @Override
    protected void onSaveInstanceState(Bundle outState) {
        super.onSaveInstanceState(outState);
        outState.putInt("tab", getActionBar().getSelectedNavigationIndex());
    }

    public static class TabListener<T extends Fragment> implements ActionBar.TabListener {
        private final Activity mActivity;
        private final String mTag;
        private final Class<T> mClass;
        private final Bundle mArgs;
        private Fragment mFragment;

        public TabListener(Activity activity, String tag, Class<T> clz) {
            this(activity, tag, clz, null);
        }

        public TabListener(Activity activity, String tag, Class<T> clz, Bundle args) {
            mActivity = activity;
            mTag = tag;
            mClass = clz;
            mArgs = args;

            // Check to see if we already have a fragment for this tab, probably
            // from a previously saved state.  If so, deactivate it, because our
            // initial state is that a tab isn't shown.
            mFragment = mActivity.getFragmentManager().findFragmentByTag(mTag);
            if (mFragment != null && !mFragment.isDetached()) {
                FragmentTransaction ft = mActivity.getFragmentManager().beginTransaction();
                ft.detach(mFragment);
                ft.commit();
            }
        }

        public void onTabSelected(Tab tab, FragmentTransaction ft) {
            if (mFragment == null) {
                mFragment = Fragment.instantiate(mActivity, mClass.getName(), mArgs);
                ft.add(android.R.id.content, mFragment, mTag);
            } else {
                ft.attach(mFragment);
            }
        }

        public void onTabUnselected(Tab tab, FragmentTransaction ft) {
            if (mFragment != null) {
                ft.detach(mFragment);
            }
        }

        public void onTabReselected(Tab tab, FragmentTransaction ft) {
            Toast.makeText(mActivity, "Reselected!", Toast.LENGTH_SHORT).show();
        }
    }
}

Returns
  • A new Tab
See Also

public abstract void removeAllTabs ()

Added in API level 11

This method is deprecated.
Action bar navigation modes are deprecated and not supported by inline toolbar action bars. Consider using other common navigation patterns instead.

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

public abstract void removeOnMenuVisibilityListener (ActionBar.OnMenuVisibilityListener listener)

Added in 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)

Added in API level 11

This method is deprecated.
Action bar navigation modes are deprecated and not supported by inline toolbar action bars. Consider using other common navigation patterns instead.

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)

Added in API level 11

This method is deprecated.
Action bar navigation modes are deprecated and not supported by inline toolbar action bars. Consider using other common navigation patterns instead.

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)

Added in API level 11

This method is deprecated.
Action bar navigation modes are deprecated and not supported by inline toolbar action bars. Consider using other common navigation patterns instead.

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)

Added in API level 11

Set the ActionBar's background. This will be used for the primary action bar.

Parameters
d Background drawable

public abstract void setCustomView (int resId)

Added in 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)

Added in 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)

Added in 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)

Added in 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)

Added in 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)

Added in 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)

Added in 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)

Added in 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)

Added in 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)

Added in 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 void setHideOffset (int offset)

Set the current hide offset of the action bar.

The action bar's current hide offset is the distance that the action bar is currently scrolled offscreen in pixels. The valid range is 0 (fully visible) to the action bar's current measured height (fully invisible).

Parameters
offset The action bar's offset toward its fully hidden state in pixels.

public void setHideOnContentScrollEnabled (boolean hideOnContentScroll)

Enable hiding the action bar on content scroll.

If enabled, the action bar will scroll out of sight along with a nested scrolling child view's content. The action bar must be in overlay mode to enable hiding on content scroll.

When partially scrolled off screen the action bar is considered hidden. A call to show will cause it to return to full view.

Parameters
hideOnContentScroll true to enable hiding on content scroll.

public void setHomeActionContentDescription (CharSequence description)

Added in API level 18

Set an alternate description for the Home/Up action, when enabled.

This description is commonly used for accessibility/screen readers when the Home action is enabled. (See setDisplayHomeAsUpEnabled(boolean).) Examples of this are, "Navigate Home" or "Navigate Up" depending on the DISPLAY_HOME_AS_UP display option. If you have changed the home-as-up indicator using setHomeAsUpIndicator(int) to indicate more specific functionality such as a sliding drawer, you should also set this to accurately describe the action.

Setting this to null will use the system default description.

Parameters
description New description for the Home action when enabled

public void setHomeActionContentDescription (int resId)

Added in API level 18

Set an alternate description for the Home/Up action, when enabled.

This description is commonly used for accessibility/screen readers when the Home action is enabled. (See setDisplayHomeAsUpEnabled(boolean).) Examples of this are, "Navigate Home" or "Navigate Up" depending on the DISPLAY_HOME_AS_UP display option. If you have changed the home-as-up indicator using setHomeAsUpIndicator(int) to indicate more specific functionality such as a sliding drawer, you should also set this to accurately describe the action.

Setting this to 0 will use the system default description.

Parameters
resId Resource ID of a string to use as the new description for the Home action when enabled

public void setHomeAsUpIndicator (Drawable indicator)

Added in API level 18

Set an alternate drawable to display next to the icon/logo/title when DISPLAY_HOME_AS_UP is enabled. This can be useful if you are using this mode to display an alternate selection for up navigation, such as a sliding drawer.

If you pass null to this method, the default drawable from the theme will be used.

If you implement alternate or intermediate behavior around Up, you should also call setHomeActionContentDescription() to provide a correct description of the action for accessibility support.

Parameters
indicator A drawable to use for the up indicator, or null to use the theme's default

public void setHomeAsUpIndicator (int resId)

Added in API level 18

Set an alternate drawable to display next to the icon/logo/title when DISPLAY_HOME_AS_UP is enabled. This can be useful if you are using this mode to display an alternate selection for up navigation, such as a sliding drawer.

If you pass 0 to this method, the default drawable from the theme will be used.

If you implement alternate or intermediate behavior around Up, you should also call setHomeActionContentDescription() to provide a correct description of the action for accessibility support.

Parameters
resId Resource ID of a drawable to use for the up indicator, or null to use the theme's default

public void setHomeButtonEnabled (boolean enabled)

Added in API level 14

Enable or disable the "home" button in the corner of the action bar. (Note that this is the application home/up affordance on the action bar, not the systemwide home button.)

This defaults to true for packages targeting < API 14. For packages targeting API 14 or greater, the application should call this method to enable interaction with the home/up affordance.

Setting the DISPLAY_HOME_AS_UP display option will automatically enable the home button.

Parameters
enabled true to enable the home button, false to disable the home button.

public abstract void setIcon (Drawable icon)

Added in API level 14

Set the icon to display in the 'home' section of the action bar. The action bar will use an icon specified by its style or the activity icon by default. Whether the home section shows an icon or logo is controlled by the display option DISPLAY_USE_LOGO.

Parameters
icon Drawable to show as an icon.

public abstract void setIcon (int resId)

Added in API level 14

Set the icon to display in the 'home' section of the action bar. The action bar will use an icon specified by its style or the activity icon by default. Whether the home section shows an icon or logo is controlled by the display option DISPLAY_USE_LOGO.

Parameters
resId Resource ID of a drawable to show as an icon.

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

Added in API level 11

This method is deprecated.
Action bar navigation modes are deprecated and not supported by inline toolbar action bars. Consider using other common navigation patterns instead.

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 setLogo (int resId)

Added in API level 14

Set the logo to display in the 'home' section of the action bar. The action bar will use a logo specified by its style or the activity logo by default. Whether the home section shows an icon or logo is controlled by the display option DISPLAY_USE_LOGO.

Parameters
resId Resource ID of a drawable to show as a logo.

public abstract void setLogo (Drawable logo)

Added in API level 14

Set the logo to display in the 'home' section of the action bar. The action bar will use a logo specified by its style or the activity logo by default. Whether the home section shows an icon or logo is controlled by the display option DISPLAY_USE_LOGO.

Parameters
logo Drawable to show as a logo.

public abstract void setNavigationMode (int mode)

Added in API level 11

This method is deprecated.
Action bar navigation modes are deprecated and not supported by inline toolbar action bars. Consider using other common navigation patterns instead.

Set the current navigation mode.

Parameters
mode The new mode to set.

public abstract void setSelectedNavigationItem (int position)

Added in API level 11

This method is deprecated.
Action bar navigation modes are deprecated and not supported by inline toolbar action bars. Consider using other common navigation patterns instead.

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

Parameters
position Position of the item to select.

public void setSplitBackgroundDrawable (Drawable d)

Added in API level 14

Set the ActionBar's split background. This will appear in the split action bar containing menu-provided action buttons on some devices and configurations.

You can enable split action bar with uiOptions

Parameters
d Background drawable for the split bar

public void setStackedBackgroundDrawable (Drawable d)

Added in API level 14

Set the ActionBar's stacked background. This will appear in the second row/stacked bar on some devices and configurations.

Parameters
d Background drawable for the stacked row

public abstract void setSubtitle (int resId)

Added in 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)

Added in 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 (int resId)

Added in 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 setTitle (CharSequence title)

Added in 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 show ()

Added in 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.

If you are hiding the ActionBar through View.SYSTEM_UI_FLAG_FULLSCREEN, you should not call this function directly.