実行時にRelativeLayoutを作成するときに、android:layout_below
プログラムで同等のものを設定することは可能ですか?
108014 次
4 に答える
480
はい:
RelativeLayout.LayoutParams params= new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,ViewGroup.LayoutParams.WRAP_CONTENT);
params.addRule(RelativeLayout.BELOW, R.id.below_id);
viewToLayout.setLayoutParams(params);
まず、コードは高さと幅を指定して新しいレイアウト パラメータを作成します。このaddRule
メソッドは、xml に相当するものを適切に追加しますandroid:layout_below
。View#setLayoutParams
次に、それらのパラメータを取得したいビューを呼び出すだけです。
于 2010-07-18T21:20:29.687 に答える
153
または、ビューの現在のレイアウト パラメータを使用して変更することもできます。
RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) viewToLayout.getLayoutParams();
params.addRule(RelativeLayout.BELOW, R.id.below_id);
于 2014-02-11T15:22:14.443 に答える
12
@jackofallcode の回答は正しいですが、1 行で記述できます。
((RelativeLayout.LayoutParams) viewToLayout.getLayoutParams()).addRule(RelativeLayout.BELOW, R.id.below_id);
于 2017-11-07T11:42:16.733 に答える