Android:尝试理解Android:Layout_Weight
-
26-09-2019 - |
题
我正在尝试将页面分为三个部分。我想以百分比值进行操作,但是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
我绝对不知道所有这些背后的数学是什么。
解决方案
有没有办法从Android:Layout_Weight中获得百分比值(0..100%)?
当然。使他们加起来100。
对于您的“百分比价值”,您想要 android:layout_height
在 LinearLayout
成为 0px
.
其他提示
当您使用android:layout_height =“ fill_parent”栏时,您没有留下任何可用空间。 (由于他们正在填充父。)由于所有3个都设置为填充,因此所请求的高度实际上是父高度的3倍,因此将重量应用于负剩余空间。这解释了您看到的怪异行为,以及为什么将Layout_height设置为0px解决它。
不隶属于 StackOverflow