如何使布局占据屏幕的1/2?

时间:2012-05-19 02:27:56

标签: android layout

如果我想要一个布局占据屏幕的右侧,无论屏幕大小如何,我都很好奇我需要做什么。

我是否必须在左侧放置一些重量为1的空元素?或者是否可以指定布局与其父级的右侧对齐并占用一定百分比?如果是这样......怎么样?理想情况下,父亲是一个RelativeLayout,但我会使用任何解决方案,因为目前我所尝试的一切都会导致完全错误。

2 个答案:

答案 0 :(得分:3)

据我所知,唯一的解决方案是加权LinearLayout。视图的权重除以布局weightSum表示屏幕上可用空间的百分比。

您可以让它有两个子视图,每个宽度设置为0dp,权重设置为1。

加权布局分两个阶段进行:第一阶段测量每个视图的layout_width。第二阶段分配关于layout_weight / weightSum关系的任何剩余空间(总布局宽度 - 每个视图宽度的累计总和)。

答案 1 :(得分:1)

要使元素与任何一侧对齐,您应该设置它的父元素的重力(可能是包含该元素的布局)。当然,在您的情况下,将线性布局的“gravity”属性设置为右侧。您可能还需要将布局的“方向”更改为水平

要使其只占屏幕的一半,请设置父版面的“权重和”以及子项的“布局权重”。子女的权重总和应等于父母的权重总和。