LinearLayout поддерживает присвоение веса отдельным детям. Этот атрибут присваивает представлению значение « важность » и позволяет расширить его, чтобы заполнить все оставшееся пространство в родительском представлении. Вес по умолчанию ноль
вычисление для назначения любого Оставшегося / дополнительного пробела между дочерними элементами. (не общая площадь)
пробел, присвоенный ребенку = (индивидуальный вес ребенка) / (сумма веса каждого ребенка в линейном расположении)
Пример (1):
если есть три текстовых поля и два из них объявляют вес 1, а третьему не присвоен вес (0), тогда Оставшийся / Дополнительный пробел присваивается
1st text box = 1/(1+1+0)
2nd text box = 1/(1+1+0)
3rd text box = 0/(1+1+0)
Пример (2) : допустим, у нас есть текстовая метка и два элемента редактирования текста в горизонтальной строке. В метке не указан layout_weight, поэтому он занимает минимальное пространство, необходимое для визуализации. Если для layout_weight каждого из двух элементов редактирования текста задано значение 1, оставшаяся ширина в родительском макете будет разделена поровну между ними (поскольку мы утверждаем, что они одинаково важны).
calculation :
1st label = 0/(0+1+1)
2nd text box = 1/(0+1+1)
3rd text box = 1/(0+1+1)
Если первое текстовое поле имеет layout_weight, равный 1, а второе текстовое поле имеет layout_weight, равный 2, то одна треть оставшегося пространства будет отдана первой, а две трети - второй (поскольку мы требуем второй важнее).
calculation :
1st label = 0/(0+1+2)
2nd text box = 1/(0+1+2)
3rd text box = 2/(0+1+2)