以下仅是凭印象和经验写出来的,有些未能仔细考证,求见谅
前期我们接触安卓的时候,只有两个属性,即,前两个,后面增加了一个match_parent。有的人一直很模糊,第一个还好,自适应,但是后面的两个属性,得到的解释是:
fill_parent可以被后者取代,正常情况下,fill跟match字面的意思也相近,所以很多人觉得这两个没区别,其实不然
一:
fill_parent表示占据整个行或者高,此属性添加之后,在其父控件中绝对的占有宽或高,具有排他性
二:
match_parent和fill区别在于,match不具备排他性,即,按从左往右,从上到下的顺序,占有前面控件使用完了剩下的所有空间,同fill的区别还是很明显
三:
通常情况下,在书写占据整行,或者整列的时候,这两个属性在线性布局中可以同等替代。比如写一个Linearlayout,占据整行空间,这两个属性可以随便使用
四:
在牵涉到了weight属性时,这两个属性又有区别:在前面存在控件的时候,后面的控件设置weigh= 1,也可以表示设置成了match的意思,不过会要求你把其的属性设置为0dp