首先看一下奇怪的的现象:
线性布局的情况下,有个非常奇怪的属性——Android:layout_weight,该属性大部分视图控件中都有,它表示视图的重要度或者权重,看看以下两种情况下该属性的使用:
(1)水平布局的情况下:(android:orientation="horizontal")
第一种情况:设置 android: layout_width="fill_parent" 。
这个时候设置第一个TextView和第二个TextView的layout_weight的值分别为1和2,那么在水平方向上第一个TextView占据了三分之二的宽度,而第二个占据了三分之一的宽度。 也就是在这种情况下,layout_weight的值越大,重要度越低,也就是说占据的宽度越短(不太明白为什么叫重要度,而且这样描述也不太合理,姑且叫他重要度吧)。
第二种情况:设置android: layout_width="wrap_content"。
两个TextView的layout_weight同样是1和2,此时第一个TextView占了三分之一的宽度,而第二个TextView却占用了三分之二,跟上面的情况刚好相反。
(2)垂直布局的情况下:(android:orientation="vertical")
第一种情况:设置android:layout_height="fill_parent"。
设置android:layout_height="fill_parent",两个TextView的设置如下图所示,第一个TextView的高度占了三分之二,而第二个TextView只占了三分一。
第二种情况:设置android:layout_height="wrap_content"。
两个TextView的android:layout_height设置均为wrap_content,第一个TextView的高度占了三分之一,而第二个TextView占了三分之二。(图片就不贴了)
总结
根据上面的四个不同场景,可以知道官方说:“layout_weight数值越小,其重要度越高,即占的宽度或者高度份额越大”,可见它是已fill_parent为基准的。
转自:http://blog.csdn.net/zhoujn90/article/details/45055863