android-ktx icon indicating copy to clipboard operation
android-ktx copied to clipboard

Extension for GlobalLayoutListener

Open rohitramkumar308 opened this issue 8 years ago • 1 comments

inline fun View.doOnGlobalLayout(crossinline action: (view: View) -> Unit) {
    val vto = viewTreeObserver
    vto.addOnGlobalLayoutListener(object : ViewTreeObserver.OnGlobalLayoutListener {
        override fun onGlobalLayout() {
            action(this@doOnGlobalLayout)
            when {
                vto.isAlive -> vto.removeOnGlobalLayoutListener(this)
                else -> viewTreeObserver.removeOnGlobalLayoutListener(this)
            }
        }
    })
}

Usage:

 view.doOnGlobalLayout { ... }

rohitramkumar308 avatar Feb 06 '18 16:02 rohitramkumar308

Another alternative is as: https://stackoverflow.com/a/36279773/504012

jackcsk avatar Feb 26 '18 07:02 jackcsk