小编Rad*_*por的帖子

为什么在 Kotlin 中异步设置视图尺寸不起作用?

这有效

myView.layoutParams = myView.layoutParams.apply { height = 100 }
Run Code Online (Sandbox Code Playgroud)

但这都不是(使用android-ktx)

myView.doOnLayout {
    myView.layoutParams = myView.layoutParams.apply { height = 100 }
}
Run Code Online (Sandbox Code Playgroud)

也不是这个

myView.viewTreeObserver.addOnGlobalLayoutListener(object : ViewTreeObserver.OnGlobalLayoutListener {
    override fun onGlobalLayout() {
        myView.layoutParams = myView.layoutParams.apply { height = 100 }
        myView.viewTreeObserver.removeOnGlobalLayoutListener(this)
    }
})
Run Code Online (Sandbox Code Playgroud)

甚至这个

postDelayed({
    myView.layoutParams = myView.layoutParams.apply { height = 100 }
}, 100)
Run Code Online (Sandbox Code Playgroud)

作品。为什么?

android kotlin

4
推荐指数
1
解决办法
1549
查看次数

标签 统计

android ×1

kotlin ×1