layout_weight是LinearLayouts的view布局里一个很重要的值。
所有的view的layout_weight缺省值都是为0,意味着他们只在屏幕上占据它们需要显示的空间大小。
activity根据这个View的比0大的layout_weight值来划分剩余的空间和其它Views定义的layout_weight也按比例进行空间的划分。
给个例子:假设我们在水平行上有一个文本标签和两个文本编辑框view. 文本标签没有定义layout_weight 值,所以它将占据最小的需要提供的空间. 如果每个文本框view的layout_weight 都被设置为1, 在父布局中的剩余的宽度将被它们平分.如果一个文本view的layout_weight值为1,另外一个是2, 那么剩余空间的三分之一将给第一个文本框,三分之二将给第二个文本框
这个布局文件也演示了如何在其他布局内部嵌套布局从而生成更复杂和漂亮的布局. 在这个例子中,一个水平的线性布局嵌套在另外一个垂直的布局中,从而允许标题标签和文本字段在水平方向上边界对齐
http://hi.baidu.com/fumingxia19/blog/item/9aa6077a151cb6e42f73b315.html
补充
所有View(视图)元素中都有一个XML属性android:layout_weight,其值为0,1,2,3...等整数值。使用了之后,其对应界面中的元素比例就会发生变化,变大或者变小。layout_weight属性其实就是一个元素重要度的属性,用于在线性布局中为不同的view元素设置不同的重要度。
所有的视图都有一个layout_weight值,其默认值为0,表示视图多大就占据多大的屏幕空间。若赋一个>0的数值,则各视图元素将会把父视图中的可用空间进行分割,分割大小具体取决于每一个视图的layout_weight值以及该值在当前屏幕布局的整体layout_weight值和在其它视图屏幕布局的layout_weight值中所占的比率而定。
比如:说我们在水平方向两个文本标签(TextView),两个文本标签各自并指定layout_weight值为1,则各占一半,一个是1,一个2,则一个占2/3屏幕,一个占1/3。
需要注意的是:layout_weight值越小其重要度越高,占用屏幕越大。