선형 레이아웃은 자식뷰안에 LinearLayout.LayoutParams 객체를 가지고있고 배치관련 정보들을 저장한다.

 

상대적레이아웃객체는 자식뷰들 안에 RelativeLayout.LayoutParams 객체안에 배치관련 정보들을 저장한다.

 

 

예를들면 ViewGroup.LayoutParams는 필드로 layout_width, layout_height를 가지고, ViewGroup.LayoutParams에서 파생된 LinearLayout.LayoutParams는 추가로 layout_gravity, layout_weight를 가진다.

RelativeLayout.LayoutParams는 추가로 layout_above,layout_alignBaseline...등 많은 속성을 가진다.

 

코드만으로 인터페이스를 작성할 경우 각각의 뷰를 뷰그룹에 추가할때마다 적절한 LayoutParams 객체를 생성하여 인수로 전달한다.

 

 

LinearLayout manager = new LinearLayout(this);

manager.setOrientation(LinearLayout.VERTICAL);

 

Button btn1 = new Button(this);

btn1.setText("테스트버튼1");

Button btn2 = new Button(this);

btn2.setText("테스트버튼2");

 

LinearLayout.Params param = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,

LinearLayout.LayoutParams.WRAP_CONTENT);

 

manager.addView = (btn1,param);

manager.addView = (btn2,param);

 

setContentView(manager);

 

 

블로그 이미지

왕왕왕왕

,