# ViewTreeObserver.OnDrawListener

Added in[API level 16](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

# ViewTreeObserver.OnDrawListener

*** ** * ** ***

[Kotlin](https://developer.android.com/reference/kotlin/android/view/ViewTreeObserver.OnDrawListener "View this page in Kotlin")\|Java

`
public
static


interface
ViewTreeObserver.OnDrawListener
`  
`


`

|----------------------------------------------|
| android.view.ViewTreeObserver.OnDrawListener |

<br />

*** ** * ** ***

Interface definition for a callback to be invoked when the view tree is about to be drawn.

## Summary

|                                                                                               ### Public methods                                                                                                ||
|------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ` abstract void` | ` `[onDraw](https://developer.android.com/reference/android/view/ViewTreeObserver.OnDrawListener#onDraw())`() ` <br /> Callback method to be invoked when the view tree is about to be drawn. |

## Public methods

### onDraw

Added in[API level 16](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public abstract void onDraw ()
```

<br />

Callback method to be invoked when the view tree is about to be drawn. At this point, views cannot be modified in any way.

Unlike with[OnPreDrawListener](https://developer.android.com/reference/android/view/ViewTreeObserver.OnPreDrawListener), this method cannot be used to cancel the current drawing pass.

An[OnDrawListener](https://developer.android.com/reference/android/view/ViewTreeObserver.OnDrawListener)listener**cannot be added or removed**from this method.

<br />

<br />

**See also:**

- [View.onMeasure(int, int)](https://developer.android.com/reference/android/view/View#onMeasure(int,%20int))
- [View.onLayout(boolean, int, int, int, int)](https://developer.android.com/reference/android/view/View#onLayout(boolean,%20int,%20int,%20int,%20int))
- [View.onDraw(Canvas)](https://developer.android.com/reference/android/view/View#onDraw(android.graphics.Canvas))