Android 在Activity中获取某个View的宽高

1、onWindowFocusChanged 

当Activity的窗口得到焦点和失去焦点时均会被调用一次

如果频繁的进行onResume和onPause,那么onWindowFocusChanged也会被频繁调用

2、view.post(runnable)

通过post可以将一个runnable投递到消息队列的尾部,然后等待Looper调用次Runnable的时候,View已经初始化好了

3、ViewTreeObserve

当view树的状态发生改变或者view树内部的view可见发生变化时,onGlobalLayout方法将被回调

override fun onStart() {
    super.onStart()
    val observe =view.viewTreeObserver
    observe.addOnGlobalLayoutListener { //获取你的宽高 }
}

猜你喜欢

转载自blog.csdn.net/qq_33251678/article/details/107762517