1、传统Activity加载布局方式——setContentView()
初学Android的同学,最先接触的应该就是Eclipse自动创建的“Hello World!”小例程。而setContentView(R.layout.activity_main); 这行代码就是为我们的Activity加载展示布局的。我时常认为,如果把我们的程序比作一把折扇,那么Activity就相当于这把扇子的骨架,而layout布局文件就好比折扇上的花样扇面。我们现在已经对这把扇子的生命周期很清楚了,它何时打开、何时收拢,打开或者收起来调用什么方法我们心里都可以一清二楚。
但是我们可能还对一点感到好奇,那就是Activity是在什么时候,通过什么方式把他的扇面加载出来的呢?所以我们应该对Activity.setContentView(intresId)这个方法做做探究。在每一个Activity中,都含有一个Window对象,而这个Window对象就提供了标准UI的显示策略和行为策略。Activity对界面布局的管理是都是通过Window对象来实现的。(*这里需要注意的是,Window类是一个抽象类,其并没有实现关键的setContentView()方法,而其子类PhoneWindow实现了。因此Activity是通过其子类的实例来实现界面加载的。)