match_parent如何工作?

时间:2014-09-04 07:50:30

标签: android performance android-layout

据我所知,Android的视图渲染过程中,根布局将开始测量,并询问每个孩子的尺寸。如果其中一个是Viewgroup本身,它将再次询问孩子,这些孩子只返回他们的设置大小,或者如果他们设置为wrap_content则计算它。

现在如何使用match_parent?视图无法计算它的大小,因为它必须首先知道父级的大小,对吧?因此,父母必须计算它自己的大小,然后将其发送给孩子,孩子可以继续使用它自己的布局。 这会使match_parentwrap_content甚至固定的dp值更低效吗?

1 个答案:

答案 0 :(得分:1)

实际上,match_parent说“嗨,父母,我想要像你的剩余可用空间那么大”。例如,如果ViewGroup Parent有两个子节点:子节点在索引处0表示wrap_content,子B表示索引1表示match_parent。 A表示他希望宽100px,那么B的宽度将是:父级的总宽度 - 父级的填充 - A的边距 - 100px - B的边缘