回答:
はい:
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、これらのパラメーターを設定するビューを呼び出すだけです。
または、ビューの現在のレイアウトパラメータを使用して、それらを変更することもできます。
RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) viewToLayout.getLayoutParams();
params.addRule(RelativeLayout.BELOW, R.id.below_id);
LayoutParamsは、新しいビューを作成するのではなく、既存のものを使用する必要があります。実際、これは正解として受け入れられるべきです。
@jackofallcodeの答えは正しいですが、1行で記述できます。
((RelativeLayout.LayoutParams) viewToLayout.getLayoutParams()).addRule(RelativeLayout.BELOW, R.id.below_id);
LayoutParamsを設定する必要があるため、実際にレイアウトを変更することはできませんsetLayoutParams