Most visited

Recently visited

ActionBarDrawerToggle

public class ActionBarDrawerToggle
extends Object implements DrawerLayout.DrawerListener

java.lang.Object
   ↳ android.support.v4.app.ActionBarDrawerToggle


This class is deprecated.
Please use ActionBarDrawerToggle in support-v7-appcompat.

This class provides a handy way to tie together the functionality of DrawerLayout and the framework ActionBar to implement the recommended design for navigation drawers.

To use ActionBarDrawerToggle, create one in your Activity and call through to the following methods corresponding to your Activity callbacks:

Call syncState() from your Activity's onPostCreate to synchronize the indicator with the state of the linked DrawerLayout after onRestoreInstanceState has occurred.

ActionBarDrawerToggle can be used directly as a DrawerLayout.DrawerListener, or if you are already providing your own listener, call through to each of the listener methods from your own.

Summary

Nested classes

interface ActionBarDrawerToggle.Delegate

 

interface ActionBarDrawerToggle.DelegateProvider

Allows an implementing Activity to return an ActionBarDrawerToggle.Delegate to use with ActionBarDrawerToggle. 

Public constructors

ActionBarDrawerToggle(Activity activity, DrawerLayout drawerLayout, int drawerImageRes, int openDrawerContentDescRes, int closeDrawerContentDescRes)

Construct a new ActionBarDrawerToggle.

ActionBarDrawerToggle(Activity activity, DrawerLayout drawerLayout, boolean animate, int drawerImageRes, int openDrawerContentDescRes, int closeDrawerContentDescRes)

Construct a new ActionBarDrawerToggle.

Public methods

boolean isDrawerIndicatorEnabled()
void onConfigurationChanged(Configuration newConfig)

This method should always be called by your Activity's onConfigurationChanged method.

void onDrawerClosed(View drawerView)

DrawerLayout.DrawerListener callback method.

void onDrawerOpened(View drawerView)

DrawerLayout.DrawerListener callback method.

void onDrawerSlide(View drawerView, float slideOffset)

DrawerLayout.DrawerListener callback method.

void onDrawerStateChanged(int newState)

DrawerLayout.DrawerListener callback method.

boolean onOptionsItemSelected(MenuItem item)

This method should be called by your Activity's onOptionsItemSelected method.

void setDrawerIndicatorEnabled(boolean enable)

Enable or disable the drawer indicator.

void setHomeAsUpIndicator(int resId)

Set the up indicator to display when the drawer indicator is not enabled.

void setHomeAsUpIndicator(Drawable indicator)

Set the up indicator to display when the drawer indicator is not enabled.

void syncState()

Synchronize the state of the drawer indicator/affordance with the linked DrawerLayout.

Inherited methods

From class java.lang.Object
From interface android.support.v4.widget.DrawerLayout.DrawerListener

Public constructors

ActionBarDrawerToggle

ActionBarDrawerToggle (Activity activity, 
                DrawerLayout drawerLayout, 
                int drawerImageRes, 
                int openDrawerContentDescRes, 
                int closeDrawerContentDescRes)

Construct a new ActionBarDrawerToggle.

The given Activity will be linked to the specified DrawerLayout. The provided drawer indicator drawable will animate slightly off-screen as the drawer is opened, indicating that in the open state the drawer will move off-screen when pressed and in the closed state the drawer will move on-screen when pressed.

String resources must be provided to describe the open/close drawer actions for accessibility services.

Parameters
activity Activity: The Activity hosting the drawer
drawerLayout DrawerLayout: The DrawerLayout to link to the given Activity's ActionBar
drawerImageRes int: A Drawable resource to use as the drawer indicator
openDrawerContentDescRes int: A String resource to describe the "open drawer" action for accessibility
closeDrawerContentDescRes int: A String resource to describe the "close drawer" action for accessibility

ActionBarDrawerToggle

ActionBarDrawerToggle (Activity activity, 
                DrawerLayout drawerLayout, 
                boolean animate, 
                int drawerImageRes, 
                int openDrawerContentDescRes, 
                int closeDrawerContentDescRes)

Construct a new ActionBarDrawerToggle.

The given Activity will be linked to the specified DrawerLayout. The provided drawer indicator drawable will animate slightly off-screen as the drawer is opened, indicating that in the open state the drawer will move off-screen when pressed and in the closed state the drawer will move on-screen when pressed.

String resources must be provided to describe the open/close drawer actions for accessibility services.

Parameters
activity Activity: The Activity hosting the drawer
drawerLayout DrawerLayout: The DrawerLayout to link to the given Activity's ActionBar
animate boolean: True to animate the drawer indicator along with the drawer's position. Material apps should set this to false.
drawerImageRes int: A Drawable resource to use as the drawer indicator
openDrawerContentDescRes int: A String resource to describe the "open drawer" action for accessibility
closeDrawerContentDescRes int: A String resource to describe the "close drawer" action for accessibility

Public methods

isDrawerIndicatorEnabled

boolean isDrawerIndicatorEnabled ()

Returns
boolean true if the enhanced drawer indicator is enabled, false otherwise

See also:

onConfigurationChanged

void onConfigurationChanged (Configuration newConfig)

This method should always be called by your Activity's onConfigurationChanged method.

Parameters
newConfig Configuration: The new configuration

onDrawerClosed

void onDrawerClosed (View drawerView)

DrawerLayout.DrawerListener callback method. If you do not use your ActionBarDrawerToggle instance directly as your DrawerLayout's listener, you should call through to this method from your own listener object.

Parameters
drawerView View: Drawer view that is now closed

onDrawerOpened

void onDrawerOpened (View drawerView)

DrawerLayout.DrawerListener callback method. If you do not use your ActionBarDrawerToggle instance directly as your DrawerLayout's listener, you should call through to this method from your own listener object.

Parameters
drawerView View: Drawer view that is now open

onDrawerSlide

void onDrawerSlide (View drawerView, 
                float slideOffset)

DrawerLayout.DrawerListener callback method. If you do not use your ActionBarDrawerToggle instance directly as your DrawerLayout's listener, you should call through to this method from your own listener object.

Parameters
drawerView View: The child view that was moved
slideOffset float: The new offset of this drawer within its range, from 0-1

onDrawerStateChanged

void onDrawerStateChanged (int newState)

DrawerLayout.DrawerListener callback method. If you do not use your ActionBarDrawerToggle instance directly as your DrawerLayout's listener, you should call through to this method from your own listener object.

Parameters
newState int: The new drawer motion state

onOptionsItemSelected

boolean onOptionsItemSelected (MenuItem item)

This method should be called by your Activity's onOptionsItemSelected method. If it returns true, your onOptionsItemSelected method should return true and skip further processing.

Parameters
item MenuItem: the MenuItem instance representing the selected menu item
Returns
boolean true if the event was handled and further processing should not occur

setDrawerIndicatorEnabled

void setDrawerIndicatorEnabled (boolean enable)

Enable or disable the drawer indicator. The indicator defaults to enabled.

When the indicator is disabled, the ActionBar will revert to displaying the home-as-up indicator provided by the Activity's theme in the android.R.attr.homeAsUpIndicator attribute instead of the animated drawer glyph.

Parameters
enable boolean: true to enable, false to disable

setHomeAsUpIndicator

void setHomeAsUpIndicator (int resId)

Set the up indicator to display when the drawer indicator is not enabled.

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

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

See also:

setHomeAsUpIndicator

void setHomeAsUpIndicator (Drawable indicator)

Set the up indicator to display when the drawer indicator is not enabled.

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

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

See also:

syncState

void syncState ()

Synchronize the state of the drawer indicator/affordance with the linked DrawerLayout.

This should be called from your Activity's onPostCreate method to synchronize after the DrawerLayout's instance state has been restored, and any other time when the state may have diverged in such a way that the ActionBarDrawerToggle was not notified. (For example, if you stop forwarding appropriate drawer events for a period of time.)

Hooray!