안드로이드 스튜디오에서 사용되는 레이아웃은 6가지가 있다.
1.리니어 레이아웃 : 왼쪽 위부터 아래쪽 또는 오른쪽으로 차례로 배치
2.렐러티브 레이아웃 : 위젯 자신이 속한 레이아웃의 상하좌우의 위치를 지정하여 배치
3.테이블 레이아웃 : 위젯을 행과 열의 개수를 지정한 테이블 형태로 배열
4.그리드 레이아웃 : 테이블 레이아웃과 비슷하지만, 행 또는 열을 확장하여 다양하게 배치할 때 더 편리
5.프레임 레이아웃 : 위젯들을 왼쪽 위에 일률적으로 겹쳐서 배치하여 중복해서 보이는 효과를 냄
6.컨스트레인 레이아웃: 뷰의 크기와 위치를 정할때 제약 조건(constraint)에 따라 배치
오늘은 이중 가장 많이 사용되는 리니어 레이아웃과 렐러티브 레이아웃에대해 알아보자
우선 레이아웃 공통으로 자주 사용되는 속성들이 있다.
orientation : 레이아웃 안에 배치할 위젯의 수직 또는 수평 방향을 설정
gravity : 레이아웃 안에 배치할 위젯의 정렬 방향을 좌측, 우측, 중앙 설정
padding : 레이아웃 안에 배치할 위젯의 여백을 설정
layout_weight : 레이아웃이 전체 화면에서 차지하는 공간의 가중값을 설정,
여러 개의 레이아웃이 중복될 때 주로 사용
baselineAligned : 레이아웃 안에 배치할 위젯을 보기 좋게 정렬
이정도로 설명할 수 있다.
우선 리니어 레이아웃에 대해 알아보자.
리니어 레이아웃이란 위 혹은 아래부터 반대쪽으로, 왼쪽 혹은 오른쪽부터 반대쪽으로 차례대로 쌓아가는 레이아웃이다.
이 레이아웃에서 중요한 속성으로는 위에서 설명한 gravity, orientation,layout_weight정도가 있다.
다음으로는 렐러티브 레이아웃이다.
렐러티브 레이아웃이란 말그대로 상대적인 레이아웃이다. 어떠한 위젯의 위치를 잡아놓고 그 위젯에대해 상대적으로 배치하는 레이아웃을 말한다.
레이아웃에 상대적인 위치로(다른 위젯 기준이 아닌 지금 위젯이 들어갈 레이아웃을 기준으로)
위치를 정해줄 때에는 이같은 방식으로 배치를 해준다.
이후에 어떠한 위젯을 기준으로 다른 위젯의 위치를 정하려면
이같은 방법으로 하나의 위젯에 대한 상대적인 위치를 지정하여 줄 수 있다.