在Android绘制视图指南中,因为遍历树是按顺序进行的,这意味着父级在其子级之前(即后面)被绘制,并且兄弟按照它们在树中出现的顺序绘制。作者实际上是否是指“先序”,而不是“中序”?谢谢你的帮助。
这更像是使用"深度优先遍历"来测量子元素的顺序,而使用"前序遍历"来进行实际绘制。
父元素会先被绘制并且所有子元素会在其上层堆叠绘制。
android:layout_width="wrap_content"
,这样子元素就必须被测量以确定内容的大小。 - Mircea Nistor这是文档中的一个错误。应该是先序遍历,即父节点在子节点之前绘制。
大多数UI工具库(包括Android)都是这样做的:
按照先序遍历从上到下渲染视图层次结构 - 先绘制自身,然后绘制子节点
测量(大小计算)是按照后序遍历从下到上进行的 - 先测量子节点,然后测量自身
布局(定位)是按照先序遍历从上到下进行的 - 首先我的父节点定位我,然后我定位我的子节点