布局文件中fill_parent和match_parent有什么区别?

在编写xml的时候,如果我们想让一个控件布满父容器,可以将layout_width和layout_height的值设置为fill_parent或者是match_parent,在高一点的版本中,谷歌建议为后者,其实我们看到很多应用都还是用的前者,或者是两者混用。其实在最终结果上这两个没有任何区别,他们的区别在于字面意义上,其实从fill_parent的实际效果来看,fill_parent(充满整个容器)这个意思是不准确的,对一个控件使用fill_parent并不总是能使其充满整个容器。

fill_parent应该是子view会占据剩下容器的空间,而不会覆盖前面已布局好的其他view空间,也就是说在前面已经有个view的空间已经分配好(最明显的情况是android:layout_width="30dip"这类),前面这个view是不会被后面fill_parent的view覆盖的,当然后面布局子 view就没有空间给分配了,所以fill_parent属性对布局顺序很重要。所以谷歌把fill_parent改成了与实际效果更符合的match_parent,表示塞满容器,塞的意思就是有多少空间,占用多少空间。

你可能感兴趣的:(andriod)