Могу ли я установить «android: layout_below» во время выполнения программно?

Возможно ли при создании относительного макета во время выполнения установить программный эквивалент android:layout_below ?

Solutions Collecting From Web of "Могу ли я установить «android: layout_below» во время выполнения программно?"

Да:

 RelativeLayout.LayoutParams p = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT); p.addRule(RelativeLayout.BELOW, R.id.below_id); viewToLayout.setLayoutParams(p); 

Сначала код создает новые параметры макета, задавая высоту и ширину. Метод addRule добавляет эквивалент xml android:layout_below . Затем вы просто вызываете View#setLayoutParams на представление, которое хотите иметь эти параметры.

В качестве альтернативы вы можете использовать текущие параметры макета и изменить их:

 RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) viewToLayout.getLayoutParams(); params.addRule(RelativeLayout.BELOW, R.id.below_id);