programing

프로그래밍 방식으로 런타임에“android : layout_below”를 설정할 수 있습니까?

new-time 2020. 5. 11. 21:59
반응형

프로그래밍 방식으로 런타임에“android : layout_below”를 설정할 수 있습니까?


런타임에

RelativeLayout

만들 때

android:layout_below

프로그래밍 방식으로 동등한 것을 설정할 수 있습니까?


예:

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);

@jackofallcode 답변은 정확하지만 한 줄로 작성할 수 있습니다.

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

참고 URL :

https://stackoverflow.com/questions/3277196/can-i-set-androidlayout-below-at-runtime-programmatically

반응형