2015-01-09 40 views
-1

的是这两种情况之间的差异:为什么更改这个layout_weight值不会影响我的布局?

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

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

我看不到我的UI任何区别。那么上面两个例子有什么区别?

+0

如果使用'weightSum'属性,则可以使用'layout_weight'> 1。阅读android文档获取更多信息。 – Rohit5k2

+0

其实,你可以使用'layout_weight'> 1,或不指定'weightSum'。 – stkent

回答

1

如果容器LinearLayout设置了weightSum,那么将会有所不同。从weightSum的文档:

定义最大权重和。如果未指定,则通过添加所有孩子的layout_weight来计算总和。例如,通过给它一个layout_weight为0.5,并将weightSum设置为1.0的方法,可以用于给单个孩子50%的总可用空间。

您正在用第一种情况下(I怀疑),所以weightSum在第一个实施例为1来计算,和3中的第二,所以在这两种情况下的加权查看占用所有的宽度不使用由其他(非加权)视图。

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

相关问题