2011-08-01 47 views
3

How Android Draws Views如何Android的绘制视图

“因为树是有序遍历,这意味着父母将之前绘制(即后面)他们的孩子,在顺序绘制的兄弟姐妹,他们出现在树。”

作者是否确实是指“预购”,而不是“有序”?

谢谢你的帮助。

+0

您对“预订”和“有序”概念有任何定义。我想作者只是提到了一个事实,那就是有一个秩序,并且观点不会以绝对混乱的方式被刷新。 :) – Snicolas

+1

我想他是指树遍历排序。 (http://en.wikipedia.org/wiki/Tree_traversal) –

回答

6

更像是用于测量孩子的“深度优先顺序”和用于实际绘制的“预先订购”。 父母将首先被绘制,并且孩子堆积在父母的顶部。

+0

测量阶段也将是一个前序遍历,为什么有差别? – galath

+1

您可以在您的父母中使用'android:layout_width ='wrap_content'',以便孩子必须进行测量才能知道内容的大小。 –

+0

预订是深度优先搜索的一种形式。 –

4

这是文档中的一个错误。它应该是父亲在孩子面前绘制的前序遍历。

大多数UI工具包库(包括Android)这样做:

  • 渲染视图层次自上而下预购 - 先画自我, 然后孩子

  • 措施(尺寸计算)发生在自下而上的后序 - 第一个 测量孩子,然后测量自己

  • 布局(定位)发生在自上而下的顺序 - 首先我的父母 定位我,然后我定位我的孩子