답변:
예:
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