Android

레이아웃

Ms_Tony 2015. 8. 20. 01:03
뷰(View) - 일반적으로 컨트롤이나 위젯이라는 이름으로 불리는 UI 구성 요소 
뷰그룹(ViewGroup) - View들을 여러개 포함하고 있는 것이며, 뷰그룹을 하나의 뷰로 보고 다시 상위 뷰그룹의 하나의 뷰로 구성될 수 있다.

 레이아웃의 속성 - layout_width, layout_height : 뷰의 폭과 높이를 설정. 
 대표적인 값은 부모 뷰를 꽉 채우는 match_parent 
 뷰에 들어있는 내용물의 크기에 따라 뷰의 크기를 결정하는 wrap_content 
그리고 정수값으로 이루어져있습니다. 

 - id : 뷰의 ID를 지정합니다. 뷰 끼리 상관 관계를 갖게하거나 특정 기능을 부여하기 위해 뷰를 호출하기 위해 필요합니다. 
 자바 코드에서 new 연산자로 객체를 만드는 것처럼 동일하게 객체를 만드는 것을 뜻하는데, 이 객체화 과정을 inflation이라고 합니다. 
.
 - background : 뷰의 배경을 설정합니다. 

 - orientation : 뷰를 추가하는 방향을 설정합니다. 속성으로는 horizontal 과 vertical이 있습니다. 디폴트 값은 horizontal 입니다.

 - gravity : 뷰의 정렬 방향을 설정합니다.

 - padding : 뷰의 여유 공간을 설정합니다. 

 - weight : 뷰가 차지하는 공간의 가중치 값을 설정합니다.

 *레이아웃의 종류

LinearLayout  - 박스모델
- 사각형 영역들을 이용해 화면을 구성하는 방법
표준 자바의 BoxLayout과 유사

 RelativeLayout - 규칙 기반 모델
   - 부모 컨테이너나 다른 뷰와의 상대적 위치를 이용해 화면을 구성하는 방법

FrameLayout - 기본 단위 모델
- 하나의 뷰만 보여주는 방법
- 가장 단순하지만 여러 개의 뷰를 추가하는 경우 중첩시킬 수 있으므로 뷰를 중첩한 후 각 뷰를 전환하여 보여주는 방식으로 사용할 때 유용
TableLayout - Grid 모델
       - 격자 모양의 배열을 이용하여 화면을 구성
- HTML에서 많이 사용하는 정렬 방식과 유사하여 실용적