선형 레이아웃은 자식뷰안에 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);
'안드로이드' 카테고리의 다른 글
이벤트처리(콜백메소드,리스너인터페이스,액티비티리스너,뷰리스너,무명클래스) (0) | 2015.03.12 |
---|---|
이벤트처리 (0) | 2015.03.12 |
안드로이드 API 주소 (0) | 2015.03.12 |
레이아웃:AbsoluteLayout (0) | 2015.03.12 |
레이아웃:RelativeLayout (0) | 2015.03.12 |