我们发现,在Android的所有视图控件属性中,都深藏这这么一个共同的内功,它的名字叫layout_weight,很多时候我们并不需要设置这个属性,那么这个属性到底有什么功力呢?我们稍作分析。

 

通常情况下我们没有对他进行赋值或者任何设置,这时候layout_weight的属性值默认为0,当我们对它进行赋值,设置为大于0的值的时候,它就可以根据我们设置的值来与其处于同一级别的控件分割父控件给予它们的显示空间大小,各个控件占用空间大小则根据设定的值作为比例常数来做决定。

举个例子,假设在一个水平方向上有2个并列的控件,View1与View2,我们暂且分别称为V1和V2。

  • 如果V1和V2都没有设定layout_weight的属性值,那么他们将分别占用等大的空间大小。
  • 如果我们将V1设置为1,V2也设置为1,那么这时候V1与V2同样占据同样大小空间。
  • 如果将V1设置为2,V2设置为1,那么这时V1将占据2/3的宽度,而V2只占有1/3的宽度大小。