Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * Performs the given action when the view tree is about to be drawn.
- */
- inline fun <T : View> T.doOnPreDraw(crossinline action: (view: T) -> Unit) {
- val vto = viewTreeObserver
- vto.addOnPreDrawListener(object : ViewTreeObserver.OnPreDrawListener {
- override fun onPreDraw(): Boolean {
- action(this@doOnPreDraw)
- when {
- vto.isAlive -> vto.removeOnPreDrawListener(this)
- else -> viewTreeObserver.removeOnPreDrawListener(this)
- }
- return true
- }
- })
- }
Add Comment
Please, Sign In to add comment