리니어 레이아웃은 하위뷰(자식뷰)를 일렬로 배치하는 레이아웃이다, ( 즉 한 방향으로만 배치 한다는 뜻)
리니어의 방향은 수평(Horizontal), 수직(Vertical) 2가지 방향만 존재한다.
수평 방향은 좌에서 우로 하나씩 배치
수직 방향은 위에서 아래로 하나씩 배치가 된다.
xml코드안에서는 android:orientation 속성을 horizontal, vertival로 설정한다.
자바코드안에서는 setOrientation(LinearLayout.HORIXONTAL l LinearLayout.VERTICAL)로 설정한다.
리니어 레이아웃의 특징
- 기본값은 수평 정렬이다.
- 리니어레이아웃에 붙이는 순서대로 배치된다.
- 별도의 지정이 없는 한 뷰 사이의 공백이 없다.
정렬 지정
center_horizontal : 수평으로 중앙에 배치한다.
left : 컨테이너의 왼쪽에 배치한다, 크기는 바뀌지 않는다.
right : 컨테이너의 오른쪽에 배치한다.
fill_horizontal : 수평 방향으로 가득 채운다.
center_vertical : 수직으로 중앙에 배치한다.
top : 컨테이너의 상단에 배치한다. 크기는 바뀌지 않는다.
bottom : 컨테이너의 하단에 배치한다.
fill_vertical : 수직 방향으로 가득 채운다.
center : 수평으로나 수직으로 중앙에 배치한다.
fill : 컨테이너를 가득 채우도록 수직, 수평 크기를 확장한다.
베이스 정렬
android:baselineAligned="true"
높이가 다른 차일드 뷰를 수평으로 나란히 배치할 때 아래쪽 면을 가지런히 정렬할 것인가 아닌가를 지정한다. 폰트 높이가 제각각인 문자열들을 출력할 때 유용하다. 디폴트가 true 이므로 문자열 높이가 달라도 보기 좋게 출력된다.
차일드 영역 분할
android:layout_weight="숫자"
layout_weight 속성은 부모 레이아웃의 남은 영역을 얼마나 차지할 것인가를 결정하는 비율 값이다.
이 값이 높을수록 많은 영역을 차지한다. 중요도가 0이면 자신의 고유한 크기만큼만 차지하며 중요도가 1이상이면 형제 뷰와의 비율에 따라 부모의 영역을 균등하게 배분한다.
마진과 패딩
android:layout_margin="10dip"
android:padding="10dip"
padding 속성은 뷰와 내용물 간의 간격을 지정한다.
layout_margin 속성은 뷰와 부모와의 간경을 지정하며 근처에 형제 뷰가 있으면 형제 뷰와의 간격도 마진 만큼 떨어진다.
padding, layout_margin 속성 값을 대입하면 4면 모두 동일한 여백이 적용 되고
paddingLeft, paddingTop, paddingRight, paddingBottom (layout_marginLeft, layout_marginTop, layout_marginRight, layout_marginBottom) 으로 각 면에 개별적인 여백도 지정할수 있다.
'Android' 카테고리의 다른 글
안드로이드 AbsoluteLayout, FrameLayout, TableLayout (0) | 2012.07.27 |
---|---|
안드로이드 렐러티브 (Realtive Layout) (0) | 2012.07.27 |
안드로이드 Button(버튼) (0) | 2012.07.27 |
안드로이드 ImageView (0) | 2012.07.27 |
안드로이드 TextView (0) | 2012.07.27 |