All children of a LinearLayout are
stacked one after the other, so a vertical list will only have one child per
row, no matter how wide they are, and a horizontal list will only be one row
high (the height of the tallest child, plus padding). A LinearLayout respects margins between children
and the gravity (right, center, or left alignment) of each child.

LinearLayout also supports assigning a
weight to individual children with the android:layout_weight attribute.
This attribute assigns an "importance" value to a view in
terms of how much space it should occupy on the screen. A larger weight value allows it to expand
to fill any remaining space in the parent view.
Child views can specify a weight value, and then any remaining space in the view group is
assigned to children in the proportion of their declared weight. Default
weight is zero.

For example, if there are three text fields and two of them declare a weight of 1, while the
other is given no weight, the third text field without weight will not grow and will only occupy the
area required by its content. The other two will expand equally to fill the space remaining after
all three fields are measured. If the third field is then given a weight of 2 (instead of 0), then
it is now declared more important than both the others, so it gets half the total remaining space,
while the first two
share the rest equally.