// 在主线程中,Activity对象被创建后:
// 1. 自动将DecorView添加到Window中 & 创建ViewRootImpll对象
root = new ViewRootImpl(view.getContent(),display);
// 3. 将ViewRootImpll对象与DecorView建立关联
root.setView(view,wparams,panelParentView)
顶层View,即 Android 视图树的根节点;同时也是 FrameLayout 的子类
显示 & 加载布局。View层的事件都先经过DecorView,再传递到View
内含1个竖直方向的LinearLayout,分为2部分:
在
Activity
中通过setContentView()
所设置的布局文件其实是被加到内容栏之中的,成为其唯一子View = id为content的FrameLayout
中
// 在代码中可通过content得到对应加载的布局
// 1. 得到content
ViewGroup content = (ViewGroup)findViewById(android.R.id.content);
// 2. 得到设置的View
ViewGroup rootView = (ViewGroup) content.getChildAt(0);
ViewRoot、DecorView、Window和Activity的关系非常重要。