Android:试图了解android:layout_weight

znq*_*znq 19 layout android android-layout-weight

我试图将页面分成三部分.我想用百分比值来做,但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

替代文字

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

Com*_*are 25

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

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

为了您的"百分比值",你想要的android:layout_height内个别项目的LinearLayout0px.

  • 马克,你结识了我的一天.你无法相信我花了多少时间来试图找出奇怪的情况.一个简单的`android:layout_height ="0px"`解决了一切:-) (8认同)

Sea*_*ung 8

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