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.
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2025-02-10 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-02-10 UTC."],[],[],null,["# DrawerLayout.DrawerListener\n\nadded in [version 22.1.0](/topic/libraries/support-library/revisions) \nbelongs to Maven artifact com.android.support:drawerlayout:28.0.0-alpha1 \nSummary: [Methods](#pubmethods) \\| [\\[Expand All\\]](#) \n\nDrawerLayout.DrawerListener\n===========================\n\n| This package is part of the Android [support library](/topic/libraries/support-library) which is no longer maintained. The support library has been superseded by [AndroidX](/jetpack/androidx) which is part of [Jetpack](/jetpack). We recommend using the AndroidX libraries in all new projects. You should also consider [migrating](/jetpack/androidx/migrate) existing projects to AndroidX. To find the AndroidX class that maps to this deprecated class, see the AndroidX support library [class\n| mappings](/jetpack/androidx/migrate/class-mappings).\n\n\n`\npublic\nstatic\n\n\ninterface\nDrawerLayout.DrawerListener\n`\n\n\n`\n\n\n`\n\n|-------------------------------------------------------|\n| android.support.v4.widget.DrawerLayout.DrawerListener |\n\n|---|---|\n| Known Indirect Subclasses [ActionBarDrawerToggle](/reference/android/support/v4/app/ActionBarDrawerToggle),[DrawerLayout.SimpleDrawerListener](/reference/android/support/v4/widget/DrawerLayout.SimpleDrawerListener) |-------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | [ActionBarDrawerToggle](/reference/android/support/v4/app/ActionBarDrawerToggle) | This class provides a handy way to tie together the functionality of [DrawerLayout](/reference/android/support/v4/widget/DrawerLayout) and the framework `ActionBar` to implement the recommended design for navigation drawers. | | [DrawerLayout.SimpleDrawerListener](/reference/android/support/v4/widget/DrawerLayout.SimpleDrawerListener) | Stub/no-op implementations of all methods of [DrawerLayout.DrawerListener](/reference/android/support/v4/widget/DrawerLayout.DrawerListener). | ||\n\n\u003cbr /\u003e\n\n*** ** * ** ***\n\nListener for monitoring events about drawers.\n\nSummary\n-------\n\n| ### Public methods ||\n|------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| ` abstract void` | ` `[onDrawerClosed](/reference/android/support/v4/widget/DrawerLayout.DrawerListener#onDrawerClosed(android.view.View))`(`[View](https://developer.android.com/reference/android/view/View.html)` drawerView) ` Called when a drawer has settled in a completely closed state. |\n| ` abstract void` | ` `[onDrawerOpened](/reference/android/support/v4/widget/DrawerLayout.DrawerListener#onDrawerOpened(android.view.View))`(`[View](https://developer.android.com/reference/android/view/View.html)` drawerView) ` Called when a drawer has settled in a completely open state. |\n| ` abstract void` | ` `[onDrawerSlide](/reference/android/support/v4/widget/DrawerLayout.DrawerListener#onDrawerSlide(android.view.View, float))`(`[View](https://developer.android.com/reference/android/view/View.html)` drawerView, float slideOffset) ` Called when a drawer's position changes. |\n| ` abstract void` | ` `[onDrawerStateChanged](/reference/android/support/v4/widget/DrawerLayout.DrawerListener#onDrawerStateChanged(int))`(int newState) ` Called when the drawer motion state changes. |\n\nPublic methods\n--------------\n\n### onDrawerClosed\n\nadded in [version 22.1.0](/topic/libraries/support-library/revisions) \n\n```\nvoid onDrawerClosed (View drawerView)\n```\n\nCalled when a drawer has settled in a completely closed state.\n\n\u003cbr /\u003e\n\n| Parameters ||\n|--------------|-----------------------------------------------|\n| `drawerView` | `View`: Drawer view that is now closed \u003cbr /\u003e |\n\n### onDrawerOpened\n\nadded in [version 22.1.0](/topic/libraries/support-library/revisions) \n\n```\nvoid onDrawerOpened (View drawerView)\n```\n\nCalled when a drawer has settled in a completely open state.\nThe drawer is interactive at this point.\n\n\u003cbr /\u003e\n\n| Parameters ||\n|--------------|---------------------------------------------|\n| `drawerView` | `View`: Drawer view that is now open \u003cbr /\u003e |\n\n### onDrawerSlide\n\nadded in [version 22.1.0](/topic/libraries/support-library/revisions) \n\n```\nvoid onDrawerSlide (View drawerView, \n float slideOffset)\n```\n\nCalled when a drawer's position changes.\n\n\u003cbr /\u003e\n\n| Parameters ||\n|---------------|--------------------------------------------------------------------------|\n| `drawerView` | `View`: The child view that was moved \u003cbr /\u003e |\n| `slideOffset` | `float`: The new offset of this drawer within its range, from 0-1 \u003cbr /\u003e |\n\n### onDrawerStateChanged\n\nadded in [version 22.1.0](/topic/libraries/support-library/revisions) \n\n```\nvoid onDrawerStateChanged (int newState)\n```\n\nCalled when the drawer motion state changes. The new state will\nbe one of [STATE_IDLE](/reference/android/support/v4/widget/DrawerLayout#STATE_IDLE), [STATE_DRAGGING](/reference/android/support/v4/widget/DrawerLayout#STATE_DRAGGING) or [STATE_SETTLING](/reference/android/support/v4/widget/DrawerLayout#STATE_SETTLING).\n\n\u003cbr /\u003e\n\n| Parameters ||\n|------------|-------------------------------------------|\n| `newState` | `int`: The new drawer motion state \u003cbr /\u003e |\n\n-\n\n Interfaces\n ----------\n\n - [DrawerLayout.DrawerListener](/reference/android/support/v4/widget/DrawerLayout.DrawerListener)\n - [NestedScrollView.OnScrollChangeListener](/reference/android/support/v4/widget/NestedScrollView.OnScrollChangeListener)\n - [SimpleCursorAdapter.CursorToStringConverter](/reference/android/support/v4/widget/SimpleCursorAdapter.CursorToStringConverter)\n - [SimpleCursorAdapter.ViewBinder](/reference/android/support/v4/widget/SimpleCursorAdapter.ViewBinder)\n - [SlidingPaneLayout.PanelSlideListener](/reference/android/support/v4/widget/SlidingPaneLayout.PanelSlideListener)\n - [SwipeRefreshLayout.OnChildScrollUpCallback](/reference/android/support/v4/widget/SwipeRefreshLayout.OnChildScrollUpCallback)\n - [SwipeRefreshLayout.OnRefreshListener](/reference/android/support/v4/widget/SwipeRefreshLayout.OnRefreshListener)\n - [TintableCompoundButton](/reference/android/support/v4/widget/TintableCompoundButton)\n-\n\n Classes\n -------\n\n - [AutoScrollHelper](/reference/android/support/v4/widget/AutoScrollHelper)\n - [CircularProgressDrawable](/reference/android/support/v4/widget/CircularProgressDrawable)\n - [CompoundButtonCompat](/reference/android/support/v4/widget/CompoundButtonCompat)\n - [ContentLoadingProgressBar](/reference/android/support/v4/widget/ContentLoadingProgressBar)\n - [CursorAdapter](/reference/android/support/v4/widget/CursorAdapter)\n - [DrawerLayout](/reference/android/support/v4/widget/DrawerLayout)\n - [DrawerLayout.LayoutParams](/reference/android/support/v4/widget/DrawerLayout.LayoutParams)\n - [DrawerLayout.SavedState](/reference/android/support/v4/widget/DrawerLayout.SavedState)\n - [DrawerLayout.SimpleDrawerListener](/reference/android/support/v4/widget/DrawerLayout.SimpleDrawerListener)\n - [EdgeEffectCompat](/reference/android/support/v4/widget/EdgeEffectCompat)\n - [ExploreByTouchHelper](/reference/android/support/v4/widget/ExploreByTouchHelper)\n - [ImageViewCompat](/reference/android/support/v4/widget/ImageViewCompat)\n - [ListPopupWindowCompat](/reference/android/support/v4/widget/ListPopupWindowCompat)\n - [ListViewAutoScrollHelper](/reference/android/support/v4/widget/ListViewAutoScrollHelper)\n - [ListViewCompat](/reference/android/support/v4/widget/ListViewCompat)\n - [NestedScrollView](/reference/android/support/v4/widget/NestedScrollView)\n - [PopupMenuCompat](/reference/android/support/v4/widget/PopupMenuCompat)\n - [PopupWindowCompat](/reference/android/support/v4/widget/PopupWindowCompat)\n - [ResourceCursorAdapter](/reference/android/support/v4/widget/ResourceCursorAdapter)\n - [ScrollerCompat](/reference/android/support/v4/widget/ScrollerCompat)\n - [SimpleCursorAdapter](/reference/android/support/v4/widget/SimpleCursorAdapter)\n - [SlidingPaneLayout](/reference/android/support/v4/widget/SlidingPaneLayout)\n - [SlidingPaneLayout.LayoutParams](/reference/android/support/v4/widget/SlidingPaneLayout.LayoutParams)\n - [SlidingPaneLayout.SimplePanelSlideListener](/reference/android/support/v4/widget/SlidingPaneLayout.SimplePanelSlideListener)\n - [Space](/reference/android/support/v4/widget/Space)\n - [SwipeRefreshLayout](/reference/android/support/v4/widget/SwipeRefreshLayout)\n - [TextViewCompat](/reference/android/support/v4/widget/TextViewCompat)\n - [ViewDragHelper](/reference/android/support/v4/widget/ViewDragHelper)\n - [ViewDragHelper.Callback](/reference/android/support/v4/widget/ViewDragHelper.Callback)"]]