안드로이드 개발 질문/답변
(글 수 45,052)
ViewGroup.MarginLayoutParams margin = new ViewGroup.MarginLayoutParams(view.getLayoutParams());
margin.setMargins(
realLeft
,realTop
,realRight
,realBottom
);
view.setLayoutParams(new LinearLayout.LayoutParams(margin));
==============================================================
위와 같은 방법으로 레이아웃 XML에 정의돼있는 ReletiveLayout을 불러와서 마진 값을 설정하면 이미 설정했던 값들은 모두 날아가 버리는데.. 기존의 설정했던 속성값을 유지시켜주면서 마진값만 설정할 수는 없는건가요..?
Padding 값은..
view.setPadding(realLeft, realTop, realRight, realBottom);
이런식으로 해서 그런지 다른 속성값들 그대로 유지되는데 setLayoutParams 메서드로 처리하는 부분은 문제가 심각하네요..
자답입니다~
아래와 같이 해결!!
LinearLayout.LayoutParams params = (LinearLayout.LayoutParams)view.getLayoutParams();
params.leftMargin = realLeft;
params.topMargin = realTop;
params.rightMargin = realRight;
params.bottomMargin = realBottom;
view.setLayoutParams(params);