이번 시간에는 레이아웃에 대해 배워보고, 리니어 레이아웃, 상대적 레이아웃, 컨스트레인트 레이아웃에 대해서 배워보도록 하겠습니다. 마지막으로는 반응형 UI 를 만드는 방법에 대해서 알아보도록 하겠습니다.
레이아웃(Layout) 이란?
레이아웃은 뷰그룹(View Group)의 일종으로 뷰를 배치하는 역할을 합니다. 여기서 뷰란 버튼, 이미지뷰, 텍스트뷰 등과 같이 눈에 보이는 요소를 뜻합니다.
대표적인 레이아웃
대표적인 레이아웃들을 살펴보기 전에, 어떤 레이아웃들이 있는지 한 번 보고 지나가도록 하겠습니다. 이런 레이아웃들이 있구나 정도로만 이해해 주세요.
1) 리니어 레이아웃(Linear Layout)
수직 방향 (위에서 아래로) 혹은 수평 방향 (왼쪽에서 오 른쪽으로) 차례로 주어진 뷰를 정렬합니다.
2) 상대적 레이아웃 (Relative Layout)
상대적 레이아웃을 사용하면 뷰들이 다른 뷰들로부터 위치를 지정하거나 자신이 속한 레이아웃을 기준으로 위치를 정합니다. 예를 들면 ‘A 뷰의 오른쪽에 위치’ , ‘부모 레이아웃의 정중앙에 위치’와 같이 뷰를 위치시킬 수 있습니다.
3) 컨스트레인트 레이아웃 (Constraint Layout)
뷰 사이에 수평, 수직 방향의 제약을 주어 뷰 들을 위치시킵니다.
4) 테이블 레이아웃(Table Layout)
뷰를 행과 열로 구성하여 표(테이블)의 형태로 표현합 니다.
5) 프레임 레이아웃(Frame Layout)
뷰들을 액자처럼 쌓아놓습니다. 여러 뷰들을 추가하더 라도 가장 나중에 추가한 뷰가 가장 위에 위치하게 되는 것이지요. 그러므로 레이아웃 내에 여러 뷰들을 배치시키는 데는 적합하지 않고 주로 화면에 표시될 하나의 뷰를 바꿔가며 표시 하는 데 적합합니다.