これを行うのに数時間費やしましたが、最終的にはあきらめました。
LinearLayout があります。その中に、最初は非表示になっている別の LinearLayout があります。何らかの条件が発生した場合、表示されたレイアウトを表示するために、その非表示のレイアウトを表示し、それを含むレイアウトの高さを拡張する必要があります。
レイアウトが表示されていることは検出できますが、含まれているレイアウトは展開されません。問題は、レイアウトを含めた後、新しいレイアウトが表示されるように下に移動する必要がある別のレイアウトであることです。
これは私がついにやった:
sublay.setVisibility(View.VISIBLE);
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT);
layout.setLayoutParams(lp);
layout.requestLayout();
もちろん、それはうまくいきませんでした。どうすればいいですか?