layout_weight 到底怎么算的?

作者:vkvi 来源:ITPOW(原创) 日期:2018-7-30

有时候 layout_weight 越大,占的空间越大,有时候 layout_weight 越大,占的空间越小。

到底怎么回事呢?我们了解 layout_weight 的算法后就明白了。

假如有三个横向排列的元素放在屏幕上:

  • 第一个元素没 layout_weight。
  • 第二个元素的 layout_weight 为 1。
  • 第三个元素的 layout_weight 为 2。

假如这三个的宽度加起来没超过屏幕宽度,那么剩下的宽度 1/3 分给第二个元素,2/3 分给第三个元素。

假如这三个的宽度加起来超过了屏幕宽度,超过了 100%,也就是说这三个元素占了两个屏幕的宽度。那么剩下的宽度的 1/3 分给第二个元素,由于剩下的宽度是负数(超出了),所以第二个元素应该减去 1/3 屏幕宽度,而第三个元素应该减去 2/3 屏幕宽度。

相关文章