刚与队友讨论了一个LinearLayout布局的问题,对weight的用法有点新的理解,现在总结一下。
在LinearLayout中设置weight的目的一般是想让本控件在整个LinearLayout中占多大的比重。如果不设置,则默认为0,即android:layout_weight="0",此时,该控件则占用最少的空间(就是说控件有多大,就占多大的空间)。
在一个LinearLayout中,假设有三个空间A、B、C,如果A的weight为1,B的weight为2,C的weight为3,则A占的空间为1/(1+2+3)即1/6,B占的空间为2/6,C占的空间为3/6;如果A的weight没有设置,B设置为1,C设置为2,则A有多大就占多大,B、C将瓜分剩下的空间,其中B占剩下空间的1/3,C占剩下空间的2/3;如果A、B的weight都没有设置,而C的weight大于0,那么A、B自己有多大就占多大,而C占剩下的所以空间!