Android 视图层次ViewHierarchy

在Android 平台上,你可以用下图所示的View 和ViewGroup 层次图来定义一个Activity 的UI。这个层次树可随你所愿的简单或者复杂化,你能使用Android 预定义的一套工具和布局来创建它,或者使用你自己定义的Views 来创建。

为了把一个视图层次树展现到屏幕上,你的Activity 必须调用setContentView()方法,并传给它一个根节点对象的引用。Android 系统将接受此引用,并用来进行界面的废止、测量并绘制这棵树。

层次的根结点会要求它的子节点进行自我绘制──进而,每个视图组节点也负责调用它的子视图进行自我绘制。子节点将向父节点申请绘制的位置以及大小,而其父类享有子节点绘制的位置及大小的最终决定权。

Android 依次(自层次树顶层开始)解析你布局中的元素,实例化View 并将它们添加到它们的父节点中。

因为这个过程是依次进行的,所以如果出现了元素重叠的情况,最后一个绘制的元素将位于所有重叠元素之上显现。