线性布局 - 权重(weight)和FILL_PARENT之间的区别

4
根据文档,FILL_PARENT 基本上让视图占据整个额外空间。权重也决定了视图可以占用多少额外空间。两者有何区别?
例如:当我使用时会发生什么?
new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT, 1.0f)
1个回答

13

FILL_PARENT 使得View占据所有可用空间。权重(Weight)则是使View占据相对的一部分空间。例如,假设您有两个方块A和B按照顺序添加到水平LinearLayout中。如果将A设置为WRAP_CONTENT并将B设置为FILL_PARENT,则您的布局为

[A][+++++B+++++]

而如果您将A的权重设置为2,将B的权重设置为2,则会得到

[++A++][++B++]

如果您将A的权重设置为2,将B的权重设置为4,则会得到

[+A+][+++B+++]

以此类推。


当你说FILL_PARENT占用所有可用空间时,添加到视图之前的组件会发生什么?视图会覆盖它们吗?如何防止这种情况发生? - Chris
2
之前添加的组件没有改动。它在添加时占用了所有的可用空间。 - infinitypanda

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接