Измените эту строку:
mainLayout.addView(scrollView);
Вместо этого:
LinearLayout.LayoutParams params = new LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, 0);
params.weight = 1;
mainLayout.addView(scrollView, params);
LinearLayout поддерживает концепцию weight , которая будет«растягивать» представления в зависимости от того, сколько места доступно в родительском LinearLayout.
В этом случае вы устанавливаете ScrollView
равным нулю пикселей, в то время как вы оставляете два EditTexts и Button для отправки их нормальным размером.,Это не заполнит LinearLayout, поэтому применяется вес.Все виды с весом получают дополнительное пространство, разделенное между ними на основе соотношения их весов, но здесь у нас есть только один вид с весом, поэтому он просто получает все дополнительное пространство.
Это означает, что ваши EditTexts иКнопка отправки всегда будет видна, и ScrollView получит все оставшееся пространство независимо от размера экрана.