Я потратил несколько часов, пытаясь это сделать, но в конце концов сдался.
У меня есть линейный макет. Внутри него у меня есть еще один LinearLayout, который изначально скрыт. Когда возникает какое-то условие, мне нужно, чтобы этот скрытый макет отображался, а содержащий макет увеличивал свою высоту, чтобы отобразить показанный макет.
Я могу обнаружить, что макет отображается, однако содержащий макет не расширяется. Проблема в том, что после содержания макета есть еще один макет, который мне нужно переместить вниз, чтобы можно было увидеть новый макет.
Это я сделал наконец:
sublay.setVisibility(View.VISIBLE);
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT);
layout.setLayoutParams(lp);
layout.requestLayout();
Конечно, это не сработало. Как мне это сделать?