为什么更改此layout_weight值不会影响我的布局?

时间:2015-01-09 15:59:00

标签: android android-layout layout

这两种情况有什么区别:

android:layout_width="0dp"
android:layout_weight="1"

android:layout_width="0dp"
android:layout_weight="3"

我的UI无法看到任何差异。那么上面两个例子有什么不同呢?

1 个答案:

答案 0 :(得分:1)

如果容器LinearLayout设置了weightSum,则会有所不同。来自weightSum的文档:

  

定义最大重量总和。如果未指定,则通过添加所有子项的layout_weight来计算总和。例如,通过为layout_weight设置0.5并将weightSum设置为1.0,可以使单个子项占总可用空间的50%。

您正在使用当前的第一个案例(我怀疑),因此在第一个示例中weightSum计算为1,在第二个示例中计算为3,因此在两个实例中,加权视图占用其他未使用的所有宽度(非加权的观点。

如果在两个示例中手动将weightSum设置为4,您应该会看到第一个示例中的视图占其他(非加权)视图未使用的宽度的1/4,第二个示例中的视图占据其他(非加权)视图未使用的宽度的3/4。