这两种情况有什么区别:
android:layout_width="0dp"
android:layout_weight="1"
和
android:layout_width="0dp"
android:layout_weight="3"
我的UI无法看到任何差异。那么上面两个例子有什么不同呢?
答案 0 :(得分:1)
如果容器LinearLayout
设置了weightSum,则会有所不同。来自weightSum的文档:
定义最大重量总和。如果未指定,则通过添加所有子项的layout_weight来计算总和。例如,通过为layout_weight设置0.5并将weightSum设置为1.0,可以使单个子项占总可用空间的50%。
您正在使用当前的第一个案例(我怀疑),因此在第一个示例中weightSum计算为1,在第二个示例中计算为3,因此在两个实例中,加权视图占用其他未使用的所有宽度(非加权的观点。
如果在两个示例中手动将weightSum设置为4,您应该会看到第一个示例中的视图占其他(非加权)视图未使用的宽度的1/4,第二个示例中的视图占据其他(非加权)视图未使用的宽度的3/4。