java.lang.Object | |
↳ | android.support.v7.app.ActionBarDrawerToggle |
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.
You can customize the the animated toggle by defining the
drawerArrowStyle
in your
ActionBar theme.
Nested Classes | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
ActionBarDrawerToggle.Delegate | |||||||||||
ActionBarDrawerToggle.DelegateProvider |
Allows an implementing Activity to return an ActionBarDrawerToggle.Delegate to use
with ActionBarDrawerToggle.
|
Public Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Construct a new ActionBarDrawerToggle.
| |||||||||||
Construct a new ActionBarDrawerToggle with a Toolbar.
|
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Returns the fallback listener for Navigation icon click events.
| |||||||||||
This method should always be called by your
Activity 's
onConfigurationChanged
method.
| |||||||||||
DrawerLayout.DrawerListener callback method.
| |||||||||||
DrawerLayout.DrawerListener callback method.
| |||||||||||
DrawerLayout.DrawerListener callback method.
| |||||||||||
DrawerLayout.DrawerListener callback method.
| |||||||||||
This method should be called by your
Activity 's
onOptionsItemSelected method.
| |||||||||||
Enable or disable the drawer indicator.
| |||||||||||
Set the up indicator to display when the drawer indicator is not
enabled.
| |||||||||||
Set the up indicator to display when the drawer indicator is not
enabled.
| |||||||||||
When DrawerToggle is constructed with a Toolbar, it sets the click listener on
the Navigation icon.
| |||||||||||
Synchronize the state of the drawer indicator/affordance with the linked DrawerLayout.
|
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From class
java.lang.Object
| |||||||||||
From interface
android.support.v4.widget.DrawerLayout.DrawerListener
|
Construct a new ActionBarDrawerToggle.
The given Activity
will be linked to the specified DrawerLayout
and
its Actionbar's Up button will be set to a custom drawable.
This drawable shows a Hamburger icon when drawer is closed and an arrow when drawer is open. It animates between these two states as the drawer opens.
String resources must be provided to describe the open/close drawer actions for accessibility services.
activity | The Activity hosting the drawer. Should have an ActionBar. |
---|---|
drawerLayout | The DrawerLayout to link to the given Activity's ActionBar |
openDrawerContentDescRes | A String resource to describe the "open drawer" action for accessibility |
closeDrawerContentDescRes | A String resource to describe the "close drawer" action for accessibility |
Construct a new ActionBarDrawerToggle with a Toolbar.
The given Activity
will be linked to the specified DrawerLayout
and
the Toolbar's navigation icon will be set to a custom drawable. Using this constructor
will set Toolbar's navigation click listener to toggle the drawer when it is clicked.
This drawable shows a Hamburger icon when drawer is closed and an arrow when drawer is open. It animates between these two states as the drawer opens.
String resources must be provided to describe the open/close drawer actions for accessibility services.
Please use ActionBarDrawerToggle(Activity, DrawerLayout, int, int)
if you are
setting the Toolbar as the ActionBar of your activity.
activity | The Activity hosting the drawer. |
---|---|
drawerLayout | The DrawerLayout to link to the given Activity's ActionBar |
toolbar | The toolbar to use if you have an independent Toolbar. |
openDrawerContentDescRes | A String resource to describe the "open drawer" action for accessibility |
closeDrawerContentDescRes | A String resource to describe the "close drawer" action for accessibility |
Returns the fallback listener for Navigation icon click events.
This method should always be called by your Activity
's
onConfigurationChanged
method.
newConfig | The new configuration |
---|
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.
drawerView | Drawer view that is now closed |
---|
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.
drawerView | Drawer view that is now open |
---|
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.
drawerView | The child view that was moved |
---|---|
slideOffset | The new offset of this drawer within its range, from 0-1 |
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.
newState | The new drawer motion state |
---|
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.
item | the MenuItem instance representing the selected menu item |
---|
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.
enable | true to enable, false to disable |
---|
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.
indicator | A drawable to use for the up indicator, or null to use the theme's default |
---|
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.
resId | Resource ID of a drawable to use for the up indicator, or 0 to use the theme's default |
---|
When DrawerToggle is constructed with a Toolbar, it sets the click listener on
the Navigation icon. If you want to listen for clicks on the Navigation icon when
DrawerToggle is disabled (setDrawerIndicatorEnabled(boolean)
, you should call this
method with your listener and DrawerToggle will forward click events to that listener
when drawer indicator is disabled.
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.)