jel*_*ion 4 kotlin kotlin-extension
我有以下扩展方法。如何引用OnGlobalLayoutListener传递给addOnGLobalLayoutListener()方法的 ?我需要将侦听器传递给该removeOnGlobalLayoutListener()方法。
fun View.OnGlobalLayout(callback:() -> Unit ): Unit{
this.viewTreeObserver.addOnGlobalLayoutListener {
if(android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.JELLY_BEAN) {
this.viewTreeObserver.removeOnGlobalLayoutListener(this);
}
else {
this.viewTreeObserver.removeGlobalOnLayoutListener(this);
}
callback();
}
}
Run Code Online (Sandbox Code Playgroud)
fun View.OnGlobalLayout(callback: () -> Unit): Unit {
val viewTreeObserver = this.viewTreeObserver
viewTreeObserver.addOnGlobalLayoutListener(object : ViewTreeObserver.OnGlobalLayoutListener {
override fun onGlobalLayout() {
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.JELLY_BEAN) {
viewTreeObserver.removeOnGlobalLayoutListener(this);
} else {
viewTreeObserver.removeGlobalOnLayoutListener(this);
}
callback();
}
})
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
813 次 |
| 最近记录: |