我试图将页面分成三部分。我想用百分比值来做,但Android不支持。相反,我必须使用android:layout_weight
。但我很难理解并正确行事。特别是如何计算实际大小。有没有办法从android:layout_weight
中获得百分比值(0..100%)?
我经历了几个案例(见附页截图)来描述问题。彩色字段都是<LinearLayout>
android:layout_height="fill_parent"
,因为我希望全屏分割。
案例1
好的,简单。每<LinearLayout>
获得33%。
案例2
盛衰?第一个(黄色)<LinearLayout>
完全消失了吗?为什么呢?
案例3
再次感到困惑。黄色<LinearLayout>
又回来了。然而,重量较重的两个<LinearLayout>
变得更小?发生了什么事?
案例4
我完全不知道这一切背后的数学是什么。
答案 0 :(得分:25)
有没有办法从android:layout_weight获得百分比值(0..100%)?
不确定。使它们加起来为100。
对于“百分比值”,您希望android:layout_height
中各个项目的LinearLayout
为0px
。
答案 1 :(得分:8)
当您对条形图使用android:layout_height =“fill_parent”时,您不会留下任何可用空间。 (因为它们正在填充父级。)因为所有3都设置为填充,所请求的高度实际上是父高度的3倍,因此权重将应用于负剩余空间。这解释了您所看到的奇怪行为,以及将layout_height设置为0px解决问题的原因。