Antworten:
Ja:
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);
Zunächst erstellt der Code neue Layoutparameter, indem Höhe und Breite angegeben werden. Die addRule
Methode fügt das Äquivalent der XML ordnungsgemäß hinzu android:layout_below
. Dann rufen Sie einfach View#setLayoutParams
die Ansicht auf, in der Sie diese Parameter haben möchten.
Alternativ können Sie die aktuellen Layoutparameter der Ansichten verwenden und ändern:
RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) viewToLayout.getLayoutParams();
params.addRule(RelativeLayout.BELOW, R.id.below_id);
LayoutParams
anstatt neue zu erstellen. In der Tat sollte dies als die richtige Antwort akzeptiert werden.
Während die @ jackofallcode-Antwort korrekt ist, kann sie in eine Zeile geschrieben werden:
((RelativeLayout.LayoutParams) viewToLayout.getLayoutParams()).addRule(RelativeLayout.BELOW, R.id.below_id);
LayoutParams
, um sie einzustellensetLayoutParams