有时候我们会需要在整个activity完全渲染结束后才去执行一些动作,比如要获取某个view的宽高之类的,这个时候就会需要用到onWindowFocusChanged。
onWindowFocusChanged是在activity完全渲染结束之后调用的,也就是说此时所有的view都已经正常了,可以获取到他们的宽高了。
如果想要在onCreate中取得某个view的宽高,基本会出现获取到的结果都是0的情况。
一段摘录的内容:
相关执行打印:
1: entry: onStart---->onResume---->onAttachedToWindow----------->onWindowVisibilityChanged--visibility=0---------->onWindowFocusChanged(true)------->
2. exit: onPause---->onStop---->onWindowFocusChanged(false) ---------------------- (lockscreen)
3. exit : onPause----->onWindowFocusChanged(false)-------->onWindowVisibilityChanged--visibility=8------------>onStop(to another activity)