嵌套线性布局权重

3
我有一个“主”LinearLayout,里面嵌套着几个LinearLayout,这些LinearLayout从一侧延伸到另一侧。我想知道是否可以使用权重以百分比的方式在嵌套的布局之间分割垂直空间。如果可以的话,这可能是我目前在应用程序中遇到问题的解决方案。 感谢您提供的所有帮助!
这是我的目标: enter image description here 我想在这些区域之间进行垂直划分,以便它可以很好地缩放。

如果您在所有嵌套布局中使用weight = 1,则会导致所有布局依次显示,但所有布局都将在屏幕上可见。 - AAnkit
最好您发布您的XML,展示它的样子以及您想要的样子。这样别人就可以相应地进行更改。 - AAnkit
2个回答

1

您的父级Layout的权重将是您所有子级Layouts的总数,并且将为您的子级Layouts赋予weight=1

这将使您的子级Layouts在水平方向上具有相等的大小。


这会让它们只垂直分割吗?我已经将它们设置为填充父级宽度,并且我想在屏幕高度之间分割它们。 - Lijap
如果您的父布局方向是水平的,它将水平地排列它们。 - Aqif Hamid

1
我建议避免使用嵌套线性布局,因为这会严重影响应用程序的性能。如果您发现自己正在使用多个嵌套线性布局,您可能需要考虑使用相对布局。当然,使用相对布局时,您不能使用“weight”属性,但有办法解决这个问题。这是一篇介绍布局的好文章:

http://android-developers.blogspot.com/2009/02/android-layout-tricks-1.html


1
我一直觉得这个例子是刻意的,甚至是错误的。那里发布的两个布局等价。在RelativeLayout中,他将一个TextView的高度固定为26dp。然而,原始任务是在两个TextView之间平均分配空间,而不考虑容器大小。这两个布局根本不等价,因此后者实际上并没有替换前者。 - mxk

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