Android:试图了解android:layout_weight

时间:2010-09-02 16:55:44

标签: android layout android-layout-weight

我试图将页面分成三部分。我想用百分比值来做,但Android不支持。相反,我必须使用android:layout_weight。但我很难理解并正确行事。特别是如何计算实际大小。有没有办法从android:layout_weight中获得百分比值(0..100%)?

我经历了几个案例(见附页截图)来描述问题。彩色字段都是<LinearLayout> android:layout_height="fill_parent",因为我希望全屏分割。

案例1

alt text

好的,简单。每<LinearLayout>获得33%。

案例2

alt text

盛衰?第一个(黄色)<LinearLayout>完全消失了吗?为什么呢?

案例3

alt text

再次感到困惑。黄色<LinearLayout>又回来了。然而,重量较重的两个<LinearLayout>变得更小?发生了什么事?

案例4

alt text

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

2 个答案:

答案 0 :(得分:25)

  

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

不确定。使它们加起来为100。

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

答案 1 :(得分:8)

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