问题如下图
代码编写
打印结果
分析:在onCreate和onResume中获取宽度失败,大胆猜测就是在这两个生命周期的时候还未进行测量Measure的操作,因为宽高是测量出来的
首先看setContentView做了什么操作,如下图
setContentView源码
源码
系统资源默认加载的布局
如上,setContentView只是进行了布局的加载操作 没有做如何的测量,
最终加载完布局的简图(上面代码实现的成果)
所以还得往下Look,现在开始往生命周期看 看什么时候执行View.measure()
现在看从Activity生命周期入手,如下:
生命周期onCreate执行流程
生命周期onResume执行流程,
ViewRootImpl源码
测量的函数