layout_weight
используется для определения того, как Android разделяет оставшееся пространство после того, как различные виджеты получают все необходимое пространство.
Допустим, у вас есть 3 виджета в ряд, каждый из которых требует 10 пикселей, но у вас есть пространство на 50 пикселей.Вот несколько примеров layout_weights и количество пикселей, которое будет требовать каждый виджет:
widget1: weight = 1, 30px
widget2: weight = 0, 10px
widget3: weight = 0, 10px
widget1: weight = 1, 20px
widget2: weight = 1, 20px
widget3: weight = 0, 10px
widget1: weight = 1, 16.5px
widget2: weight = 1, 16.5px
widget3: weight = 1, 16.5px
Вы можете представить вес в процентах от доступного пространства.Он сложит все значения, а затем выдаст порции в зависимости от ситуации.Таким образом, если это поможет, вы можете использовать веса, которые добавляют до 100, чтобы сделать проценты:
widget1: weight = 0, 10px
widget2: weight = 25, 15px
widget3: weight = 75, 25px
Если я правильно понимаю, вы хотите, чтобы нижний виджет начинался с определенного размера, а затем расширялся до некоторого максимального размерапри необходимости, а затем прокрутите.
И вы хотите, чтобы виджет над ним занял все дополнительное пространство.
К сожалению, в Android практически невозможно указать максимальный размер.Я думаю, что лучшее, что вы могли бы сделать, это дать ScrollView некоторый фиксированный размер с layout_weight = 1 и сообщить нижней LinearLayout wrap_content.Это (я думаю) заставит LinearLayout расширяться, пока он больше не сможет, потому что ScrollView уже потребовал пространство.
Однако, вызов определяет фиксированный размер для ScrollView, который имеет смысл вообщеразные размеры экрана и разрешения.Возможно, вам придется создавать разные макеты для разных разрешений, что, вероятно, того не стоит.Лично я бы просто дал editText фиксированный размер ...