Guest User

Untitled

a guest
Feb 21st, 2018
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.54 KB | None | 0 0
  1. /**
  2. * Performs the given action when the view tree is about to be drawn.
  3. */
  4. inline fun <T : View> T.doOnPreDraw(crossinline action: (view: T) -> Unit) {
  5. val vto = viewTreeObserver
  6. vto.addOnPreDrawListener(object : ViewTreeObserver.OnPreDrawListener {
  7. override fun onPreDraw(): Boolean {
  8. action(this@doOnPreDraw)
  9. when {
  10. vto.isAlive -> vto.removeOnPreDrawListener(this)
  11. else -> viewTreeObserver.removeOnPreDrawListener(this)
  12. }
  13. return true
  14. }
  15. })
  16. }
Add Comment
Please, Sign In to add comment