# DrawerLayout.DrawerListener

Artifact: [androidx.drawerlayout:drawerlayout](https://developer.android.com/jetpack/androidx/releases/drawerlayout) [View Source](https://cs.android.com/search?q=file:androidx/drawerlayout/widget/DrawerLayout.java+class:androidx.drawerlayout.widget.DrawerLayout.DrawerListener) Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/drawerlayout#1.0.0)

*** ** * ** ***


```
public interface DrawerLayout.DrawerListener
```

<br />

Known direct subclasses [ActionBarDrawerToggle](https://developer.android.com/reference/androidx/appcompat/app/ActionBarDrawerToggle), [DrawerLayout.SimpleDrawerListener](https://developer.android.com/reference/androidx/drawerlayout/widget/DrawerLayout.SimpleDrawerListener)

|---|---|
| `https://developer.android.com/reference/androidx/appcompat/app/ActionBarDrawerToggle` | This class provides a handy way to tie together the functionality of `https://developer.android.com/reference/androidx/drawerlayout/widget/DrawerLayout` and the framework `ActionBar` to implement the recommended design for navigation drawers. |
| `https://developer.android.com/reference/androidx/drawerlayout/widget/DrawerLayout.SimpleDrawerListener` | Stub/no-op implementations of all methods of `https://developer.android.com/reference/androidx/drawerlayout/widget/DrawerLayout.DrawerListener`. |

*** ** * ** ***

Listener for monitoring events about drawers.

## Summary

| ### Public methods |
|---|---|
| `abstract void` | `https://developer.android.com/reference/androidx/drawerlayout/widget/DrawerLayout.DrawerListener#onDrawerClosed(android.view.View)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/android/view/View.html drawerView)` Called when a drawer has settled in a completely closed state. |
| `abstract void` | `https://developer.android.com/reference/androidx/drawerlayout/widget/DrawerLayout.DrawerListener#onDrawerOpened(android.view.View)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/android/view/View.html drawerView)` Called when a drawer has settled in a completely open state. |
| `abstract void` | `https://developer.android.com/reference/androidx/drawerlayout/widget/DrawerLayout.DrawerListener#onDrawerSlide(android.view.View,float)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/android/view/View.html drawerView, float slideOffset)` Called when a drawer's position changes. |
| `abstract void` | `https://developer.android.com/reference/androidx/drawerlayout/widget/DrawerLayout.DrawerListener#onDrawerStateChanged(int)(int newState)` Called when the drawer motion state changes. |

## Public methods

### onDrawerClosed

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/drawerlayout#1.0.0)

```
abstract void onDrawerClosed(@NonNull View drawerView)
```

Called when a drawer has settled in a completely closed state.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/android/view/View.html drawerView` | Drawer view that is now closed |

### onDrawerOpened

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/drawerlayout#1.0.0)

```
abstract void onDrawerOpened(@NonNull View drawerView)
```

Called when a drawer has settled in a completely open state. The drawer is interactive at this point.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/android/view/View.html drawerView` | Drawer view that is now open |

### onDrawerSlide

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/drawerlayout#1.0.0)

```
abstract void onDrawerSlide(@NonNull View drawerView, float slideOffset)
```

Called when a drawer's position changes.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/android/view/View.html drawerView` | The child view that was moved |
| `float slideOffset` | The new offset of this drawer within its range, from 0-1 |

### onDrawerStateChanged

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/drawerlayout#1.0.0)

```
abstract void onDrawerStateChanged(int newState)
```

Called when the drawer motion state changes. The new state will be one of `https://developer.android.com/reference/androidx/drawerlayout/widget/DrawerLayout#STATE_IDLE()`, `https://developer.android.com/reference/androidx/drawerlayout/widget/DrawerLayout#STATE_DRAGGING()` or `https://developer.android.com/reference/androidx/drawerlayout/widget/DrawerLayout#STATE_SETTLING()`.

| Parameters |
|---|---|
| `int newState` | The new drawer motion state |