Linearlayout 属性 layout_weight
有这么一个属性layout_weight,可以为子组件更容易的分配空间
一些时候我们需要设置按照比利分配空间,比如在appwidght中,或者一个占满一行的组件中防止子组件,
一个textview和两个button,如果直接设置他们的width恐怕不容易获得更好的效果,比如需要精确的按照3:1:1分配3个组件的宽度。
这时候可以使用layout_weight属性,可以理解为权重。也就是说,占父组件宽度的比利。
比如横向排列3个组件,他们的权重分别设置为3,1,1。那么他们所占比利分别为3/5,1/5,1/5.
这很好理解吧。
但是有一点需要注意:分配的比例不是整个父组件宽度的比例,而是分配在设置子组件的width值以后剩下空间的比例。
比如还是那3个组件,父组件的宽度是500dp,子组件分别设置宽度为200dp,100dp,100dp,那么剩余100dp就会按照3:1:1分配给3个子组件。
所以,如果需要严格按照自己设置的layout_weight属性分配,就需要把子组件的width值设置为0dp.