Відповіді:
Так:
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 правильна, її можна записати одним рядком:
((RelativeLayout.LayoutParams) viewToLayout.getLayoutParams()).addRule(RelativeLayout.BELOW, R.id.below_id);
LayoutParams
на встановити їхsetLayoutParams