Window Activity View 三者的关系

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wujainEW/article/details/81611120

Window表示一个窗口,这是一个抽象类,具体的实现是PhoneWindow,可以通过WindowManager来创建一个Window。

Activity是Android四大组件,主要和用户进行交互,View是视图对象。

Android中所有的视图都是通过Window来呈现的,不管是Activity还是Dialog都是依附在Window上的。

当启动Activity通过setContentView()方法来添加布局的时候实际上是调用PhoneWindow的setContentView方法将布局添加到DecorView中,DecorView是Activity的顶级View,是一个FrameLayout,内部包含了标题栏和内容栏,而内容栏的id就是content,这也是setContentView方法命名的原因。最后通过布局加载器LayoutInflater生成View对象然后通过addView()方法添加到Window上。而Window内部有一个ViewGroup容器,addView()方法就是将View对象添加到容器中。

猜你喜欢

转载自blog.csdn.net/wujainEW/article/details/81611120