LinearLayout
LinearLayout 이란 뷰를 가로나 세로 방향으로 나열하는 레이아웃 클래스로 orientation 이라는 속성에 horizontal 이나 vertical 값으로 방향을 지정한다
위와 같이 vertical은 뷰를 세로로 배치하는 속성이고
horizontal은 위와 같이 뷰를 가로로 배치하는 속성이다
또한 LinearLayout은 방향만 설정하면 뷰를 추가한 순서대로 나열하고 화면에서 벗어나도 줄을 자동으로 바꾸지 않는 특성을 가지고 있다
그래서 복잡한 화면을 만들 때 LinearLayout을 중첩하여 사용한다
layout_weight 속성
layout_weight는 여백을 채우는 속성으로 layout_weight에 값은 가중치를 나타내는 것으로
위 사진에 버튼을 보면 1과 3으로 layout_weight 값이 다른데 적용된 것을 보면 여백을 1/4 만큼 3/4 만큼 차지한 것이다
또한 뷰에 크기를 0으로 하고 layout_weight 값만 설정하여 크기를 정할 수도 있다
layout_gravity와 gravity 속성
layout_gravity와 gravity은 뷰를 정렬하는 속성으로 속성을 사용하지 않는 기본값은 left/top으로 왼쪽 위를 기준으로 정렬된다 그리고 두 속성에 차이를 알아보면
layout_gravity는 뷰를 정렬하는 속성이고 gravity는 콘텐츠를 정렬하는 속성이다
위 사진은 layout_gravity을 center,gravity를 bottom으로 설정한 것이다
gravity는 콘텐츠를 정렬하는 속성이기 때문에 LinearLayout에 추가하게 된다면
위 사진은 LinearLayout에 gravity를 center로 준 상태로 위와 같이 레이아웃 콘텐츠는 뷰이므로 가운데로 정렬된다