一、创建Activity的要点
1、一个Activity就是一个类,并且这个类要继承Activity;
2、每一个Activity都必须要在Manifest.xml文件中注册;
3、onCreat方法里绑定界面;
4、为Activity添加必要的控件(Activity本身没有内容,真正显示出来的是Activity里的组件)。
Activity,window,view的关系:
1、Activity构造的时候,调用了attach,绑定了一个window;
2、Activity的setContentView(),是window.setContentView();
(1)当我们调用Acitivity的 setContentView方法的时候实际上是调用的Window对象的setContentView方法,所以我们可以看出Activity中关于界 面的绘制实际上全是交给Window对象来做的。绘制类图的话,可以看出Activity聚合了一个Window对象。
(2)在该方法中,首先创建一个DecorView,DecorView是一个扩张FrameLayout的类,是所有窗口的根View。我们在Activity中调用的setConctentView就是放到DecorView中了。这是我们类图的聚合关系如下:Activity—>Window—>DecorView。
(3)Activity相当于视图层中的控制层,是用来控制和管理View的,真正用来显示和处理事件的实际上是View。
(4)每个Activity内部都有一个Window对象, Window对象包含了一个DecorView(实际上就是FrameLayout),我们通过setContentView给Activity设置显示的View实际上都是加到了DecorView中。
Activity实际上是window来呈现的视图。