boostcourse 안드로이드 앱 프로그래밍 1. 레이아웃 만들기
- 4. 리니어 레이아웃
대표적인 레이아웃 정리
- 제약 레이아웃 (Constraint Layout)
- 제약 조건 사용하여 화면 구성하는 방법
- 안드로이드 스튜디오에서 자동으로 생성되는 default layout
- 리니어 레이아웃 (Linear Layout)
- 한 쪽 방향으로 차례로 뷰 추가하여 화면 구성하는 방법 (상자 쌓듯이 뷰 하나씩 쌓아올림)
- 뷰가 차지하는 사각형 영역을 상자라고 보기도 함
- 뷰를 아래쪽 혹은 오른쪽 어떤 방향으로 쌓을 것인지 먼저 결정 필요
- orientation 속성 값을 가로는 Horizontal, 세로는 Vertical로 지정
- 레이아웃 안에 레이아웃 넣어 예를 들어 오른쪽으로 쌓고 내부 레이아웃은 아래쪽으로 쌓는 것도 가능
- 상대 레이아웃 (Relative Layout)
- 부모 혹은 다른 뷰와의 상대적 위치로 화면 구성하는 방법
- 프레임 레이아웃 (Frame Layout)
- 가장 상위에 있는 하나의 뷰 혹은 뷰그룹만을 보여주는 방법
- 테이블 레이아웃 (Table Layout)
- 격자 모양의 배열 사용하여 화면을 구성하는 방법
뷰의 영역 구분
- Box : 뷰의 영역
- Border : 테두리
- Margin : 테두리 밖의 영역
- layout_margin, layout_marginTop / Bottom / Left / Right 속성 이용하여 조절 가능
- Padding : 테두리 내부 영역
- padding, paddingTop / Bottom / Left / Right 속성 이용하여 패딩의 값 조절 가능
리니어 레이아웃 (Linear Layout)
: 창고 안에 박스를 쌓듯이 뷰가 차지하는 영역을 박스로 보고 한 방향으로 쌓아 화면을 구성하는 방법
- 방향 : 필수 속성
- orientation 속성 사용하여 가로는 horizontal / 세로는 vertical 값으로 설정
- 뷰의 정렬 : 두 가지의 속성 사용
- layout_gravity : 뷰 정렬 시 사용
- 부모 레이아웃 내 여유 공간 존재하는 경우 여유 공간 내에서 뷰 정렬
- gravity : 뷰 내부 내용물 정렬 시 사용
- 뷰 내부에 여유 공간 존재하는 경우에만 정렬 가능 (width가 wrap_content로 설정된 경우, 의미 없음)
- layout_weight 속성
- 공간 분할에 사용되는 속성으로 남아있는 여유공간 존재하는 경우 여유 공간을 분할
- 예를 들어 두 버튼의 공간을 1/3, 2/3 만큼 주고 싶다면,
첫번째는 android:layout_weight="1", 두번째는 android:layout_weight="2"로 설정해줌
'Android ᙏ̤̫͚ > Android Programming' 카테고리의 다른 글
[Android] chapter 1 - 8 드로어블 만들기 (0) | 2021.02.27 |
---|---|
[Android] chapter 1 - 7 기본 위젯들 (0) | 2021.02.27 |
[Android] chapter 1 - 6 프레임 레이아웃 (0) | 2021.02.27 |
[Android] chapter 1 - 5 상대 레이아웃 (0) | 2021.02.26 |
[Android] chapter 1 - 3 - (2) 제약 레이아웃 (0) | 2021.02.26 |