私のアプリケーションにはこのコードがあります:
LinearLayout.LayoutParams params =
new LinearLayout.LayoutParams(WRAP_CONTENT, WRAP_CONTENT);
そして、LinearLayoutの方向を垂直に設定したいだけです。 XMLで同等の機能は次のとおりです。
Android:orientation="vertical"
XMLなしでコード内でそれを行うにはどうすればよいですか?
LinearLayout
を使用してLayoutParams
の向きを変更することはできません。 LinearLayout
オブジェクトでのみ実行できます。
LinearLayout layout = /* ... */;
layout.setOrientation(LinearLayout.VERTICAL);
次のように使用できます。
LinearLayout myll = (LinearLayout) findViewById(R.id.yourLinearLayout);
myll.setLayoutParams(new LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,ViewGroup.LayoutParams.WRAP_CONTENT));
myll.setOrientation(LinearLayout.VERTICAL);
LinearLayoutをインスタンス化する必要があります。その後、setOrientation()を呼び出すことができます
LinearLayout myLayout = ...;
myLayout.setLayoutParams(new LayoutParams(LinearLayout.WRAP_CONTENT, LinearLayout.WRAP_CONTENT);
myLayout.setOrientation(LinearLayout.VERTICAL);
それは仕事をする必要があります:)
詳細については、 Android API を確認してください。
以下の作業サンプル(LinearLayout.WRAP_CONTENTではなくLayoutParams.WRAP_CONTENT)
myLayout.setOrientation(LinearLayout.VERTICAL);
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
myLayout.setLayoutParams(layoutParams);
Xamarinの答えを探している他の誰かがここに到着した場合、同等のものは次のとおりです。
LinearLayout layout = /* ... */;
layout.Orientation = Orientation.Vertical;
layout.LayoutParameters = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MatchParent, LinearLayout.LayoutParams.WrapContent);