我正在尝试将页面分为三个部分。我想以百分比值进行操作,但是Android不支持。相反,我必须使用 android:layout_weight. 。但是我很难理解它并正确地理解它。特别是如何计算实际尺寸。有没有办法从中获得百分比值(0..100%) android:layout_weight?

我经历了一些情况(请参阅附件屏幕快照)来描述问题。彩色田地都是 <LinearLayout>android:layout_height="fill_parent", ,因为我希望将全屏幕分配在这些屏幕之间。

情况1

alt text

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

案例2

alt text

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

案例3

alt text

再次感到困惑。黄色 <LinearLayout> 回来了。但是,两个首先 <LinearLayout> 随着重量较重而变小?到底是怎么回事?

案例4

alt text

我绝对不知道所有这些背后的数学是什么。

有帮助吗?

解决方案

有没有办法从Android:Layout_Weight中获得百分比值(0..100%)?

当然。使他们加起来100。

对于您的“百分比价值”,您想要 android:layout_heightLinearLayout 成为 0px.

其他提示

当您使用android:layout_height =“ fill_parent”栏时,您没有留下任何可用空间。 (由于他们正在填充父。)由于所有3个都设置为填充,因此所请求的高度实际上是父高度的3倍,因此将重量应用于负剩余空间。这解释了您看到的怪异行为,以及为什么将Layout_height设置为0px解决它。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top