19

我正在尝试将页面分为三个部分。我想用百分比值来做,但是 Android 不支持。相反,我必须使用android:layout_weight. 但我很难理解并正确处理它。特别是如何计算实际大小。有没有办法得到一个百分比值(0..100%)android:layout_weight

我经历了几个案例(见附件截图)来描述问题。彩色字段都<LinearLayout>带有android:layout_height="fill_parent",因为我希望在它们之间划分全屏。

情况1

替代文字

好吧,很简单。每个<LinearLayout>人得到 33%。

案例2

替代文字

UPS?!第一个(黄色)<LinearLayout>完全消失?为什么?

案例3

替代文字

又是一头雾水。黄色<LinearLayout>回来了。然而,这两个首先<LinearLayout>重量更重的变得更小?到底是怎么回事?

案例4

替代文字

我完全不知道这一切背后的数学原理是什么。

4

2 回答 2

25

有没有办法从 android:layout_weight 中获取百分比值(0..100%)?

当然。使它们加起来为 100。

对于您的“百分比值”,您希望android:layout_height中的单个项目LinearLayout0px

于 2010-09-02T17:08:24.577 回答
8

当您对条使用 android:layout_height="fill_parent" 时,您不会留下任何可用空间。(因为它们正在填充父级。)因为所有 3 个都设置为填充,所以请求的高度实际上是父级高度的 3 倍,因此权重被应用于负剩余空间。这解释了您看到的奇怪行为,以及为什么将 layout_height 设置为 0px 可以解决它。

于 2010-11-23T10:04:27.290 回答