레이아웃은 뷰 객체를 포함하는 그릇 역할을 한다.
대표적으로 5개의 레이아웃 클래스가 존재한다.
선형으로 배치하는 레이아웃
orientation
뷰의 배치 방향을 수평, 수직으로 배치해 나간다.
layout_weight
빈 여백을 채우는데 사용한다.
layout_weight이 없다면 2개의 버튼 오른쪽에 빈 칸이 존재할 것이다.
외에도 여러개의 뷰에 layout_weight을 줌으로써 비율을 맞춰 여백을 채울 수 있다.
gravity
뷰를 정렬하는 속성이다.
gravity는 텍스트 뷰의 콘텐츠인 text가 적용되었다.
layout_gravity는 뷰 자체를 정렬하는 속성이다.
레이아웃에 gravity를 줌으로써 콘텐츠인 텍스트뷰를 중앙으로 정렬할 수 있다.
상대 위치로 배치하는 레이아웃
id를 참고하여 위치, 정렬을 수정할 수 있다.
뷰를 겹쳐서 배치하는 레이아웃
visibility를 활용하여 주로 사용된다.
행과 열로 구성된 테이블 화면을 만드는 레이아웃
columnCount, rowCount
열, 행의 개수를 지정할 수 있는 속성이다.
뷰의 위치, 크기 조정 및 병합
버튼 C의 위치를 1행 1열로 이동하였다.
버튼E의 여백을 채울 수 있도록 길이를 늘린다.
A가 위, 아래로 2칸씩 차지하도록 하였다. fill을 사용하지 않으면 적용되지 않는다.
수작업으로 뷰를 작업하는 레이아웃이다.
뷰를 배치할 때 제약 조건을 주어야 한다.