OneShotPreDrawListener

Added in 1.1.0

class OneShotPreDrawListener : ViewTreeObserver.OnPreDrawListener, View.OnAttachStateChangeListener


An OnPreDrawListener that will remove itself after one OnPreDraw call. Typical usage is:

    OneShotPreDrawListener.add(view, () -> { view.doSomething(); })

The onPreDraw always returns true.

The listener will also remove itself from the ViewTreeObserver when the view is detached from the view hierarchy. In that case, the Runnable will never be executed.

Summary

Public functions

java-static OneShotPreDrawListener
add(view: View, runnable: Runnable)

Creates a OneShotPreDrawListener and adds it to view's ViewTreeObserver.

Boolean
Unit
Unit
Unit

Removes the listener from the ViewTreeObserver.

Public functions

add

Added in 1.1.0
java-static fun add(view: View, runnable: Runnable): OneShotPreDrawListener

Creates a OneShotPreDrawListener and adds it to view's ViewTreeObserver.

Parameters
view: View

The view whose ViewTreeObserver the OnPreDrawListener should listen.

runnable: Runnable

The Runnable to execute in the OnPreDraw (once)

Returns
OneShotPreDrawListener

The added OneShotPreDrawListener. It can be removed prior to the onPreDraw by calling removeListener.

onPreDraw

Added in 1.1.0
fun onPreDraw(): Boolean

onViewAttachedToWindow

Added in 1.1.0
fun onViewAttachedToWindow(v: View): Unit

onViewDetachedFromWindow

Added in 1.1.0
fun onViewDetachedFromWindow(v: View): Unit

removeListener

Added in 1.1.0
fun removeListener(): Unit

Removes the listener from the ViewTreeObserver. This is useful to call if the callback should be removed prior to onPreDraw.