Android什么时候在Activity.onCreate()中的setContentView()之后首先调用View.onMeasure()?

时间:2018-01-31 01:17:38

标签: android view lifecycle

假设Android Activity为包含一个或多个Views的XML定义布局调用setCurrentView(),以通常的方式绑定它:

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    // ... other stuff
    MyCustomViewClass mcv = (MyCustomViewClass)findViewById(R.id.mcv);
    mcv.setSomeValues(x,y,z);
    // ... more stuff
    // ... ok, finished with everything in onCreate()
}

调用该Activity的onCreate()方法是否已完成执行并返回Android之前对R.layout.activity_main中声明的任何子视图第一次调用onMeasure()方法?或者Android是否有权在调用setContentView()期间或之后的任何时间开始调用onMeasure()?

1 个答案:

答案 0 :(得分:0)

在onCreate结束时,活动甚至还没有在屏幕上显示(直到onStart被调用为止)。因此,在此之前它不会尝试放置任何东西,因为它不在屏幕上,因此不需要布局。