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, 那么剩余空间的三分之一将给第一个文本框,三分之二将给第二个文本框
这个布局文件也演示了如何在其他布局内部嵌套布局从而生成更复杂和漂亮的布局. 在这个例子中,一个水平的线性布局嵌套在另外一个垂直的布局中,从而允许标题标签和文本字段在水平方向上边界对齐
要让layout_weight生效,需要父层或父父层的相应layout_width/layout_height = "fill_parent",否则wrap_content会压缩到最小足够空间!
1 楼 亚当爱上java 2011-04-11
写的不错!理解很深刻!