RelativeLayout 변수를 3개 선언하고, 거기에 따라 LayoutParams도 3개 선언해서
각 상황에 따라 params.setMargin값을 주고, setLayoutParams를 해주고 있습니다.
근데 생각해보니까... 굳이 이렇게 해줄필요 없이 메소드를 하나 선언해서 쓰면 어떨까 하는 생각을 했습니다.
기존에 사용하던 방식
// 아래와 같이 전역변수로 선언해 놓습니다.
RelativeLayout layout1,layout2,layout3;
RelativeLayout.LayoutParams params1, params2, params3;
// 여러가지 상황에서 아래와 같이 처리합니다.
params1.setMargin(left,top,right,bottom);
params2.setMargin(left,top,right,bottom);
params3.setMargin(left,top,right,bottom);
layout1.setLayoutParams(params1);
layout2.setLayoutParams(params2);
layout3.setLayoutParams(params3);
이렇게 바꾸면 어떨까 생각해본 방식
// 아래와 같이 선언해 놓습니다.
RelativeLayout layout1, layout2, layout3;
// 아래와같이 메소드를 만듭니다.
public void setMargin_test(RelativeLayout layout, int left, int top, int right, int bottom){
RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams)layout.getLayoutParams();
params.setMargins(left, top, right, bottom);
layout.setLayoutParams(params);
}
// 여러가지상황에서 아래와 같이 해당 메소드를 사용합니다.
setMargin_test(layout1, 0, 10, 20, 30);
setMargin_test(layout2, 10, 20, 30, 0);
setMargin_test(layout3, 30, 10, 0, 10);
근데.. 또 생각해보니까 이렇게하면 속도면에서 느려지거나 하지 않을까 하는 생각이 드네요..(체감하기는 힘들겠지만.)
이럴때 어떻게 하는게 좋을지, 조언 부탁드리겠습니다.