Layout의 종류
1. Layout의 종류
n 대표적인 레이아웃
레이아웃 이름 |
설명 |
리니어 레이아웃 |
- 박스 (Box) 모델 - 사격형 영역들을 이용해 화면을 구성하는 방법 - 표준 자바의 BoxLayout과 유사 |
상대 레이아웃 |
- 규칙(Rule)기반 모델 - 부모 컨테이너나 다른 뷰와 상대적 위치를 이용해 화면을 구성하는 방법 |
프레임 레이아웃 |
- 중복 배치 모델 - View를 동일한 위치에 중복하여 배치할 가능 - margin과 gravity를 이용하여 View를 특정한 위치에 배치 가능 - Fragement나 Visibility를 이용한 View Change등에 주로 사용 |
그리드 레이아웃 |
- 격자(Grid) 모델 - 격자 모양의 배열을 이용하여 화면을 구성하는 방법 - HTML에서 많이 사용하는 정렬 방식과 유사하여 실용적임 |
스크롤 뷰 |
- 스크롤이 가능한 컨테이너 - 뷰 또는 뷰그룹이 들어갈 수 있으며 화면 영역을 너어갈 때 스크롤 기능 제공 |
2. LinearLayout
n 속성
ü 채우기(fill model)
-> 뷰를 부모 뷰의 여유 공간에 어떻게 채울 것인지 설정함
ü 방향(orientation)
-> 뷰를 추가하는 방향을 설정함
ü 정렬방향(gravity)
-> 뷰의 정렬 방향을 설정함
ü 여유 공간(margin)
-> 뷰의 여유 공간을 설정함
ü 공간가중치(weight)
->뷰가 차지하는 공간의 가중치 값을 설정함
n 정렬 방향 설정하기
ü 두 가지 정렬 속성
정렬 속성 |
설명 |
Layout_gravity |
부모 컨테이너의 여유 공간에 뷰가 모두 채워지지 않아 여유 공간안에서 뷰를 정렬 할 때 |
gravity |
뷰에서 화면에 표시하는 내용물을 정렬할 때(텍스트 뷰의 경우 내용물은 글자가 되고 이미지뷰의 경우 내용물은 이미지가 됨) |
- layout_gravity
è 뷰의 layout_width나 layout_height 속성을 wrap_content로 할 경우에 같이 사용할 수 있음
n 공간가중치 설정하기
ü Layout_weight 속성
è LinearLayout Child를 배치하고 남은 여백을 어떻게 배치할 것인가를 설정
è Layout_weight가 설정되어 있는 child간 값의 비율로 여백을 분배
è Layout_wegiht는 여백을 나눠가지는 비율이지 child view간의 상대적 크기가 아님
3. RelativeLayout
ü 부모 컨테이너나 다른 위젯들과 상대적 위치를 이용하여 배치하는 레이아웃
ü 다른 widget의 정보를 기준으로 내 위치를 결정하는 방식으로 Child는 Parent나 다른 Child의 위치를 기준으로 내 위치를 결정하고 align을 맞춰 크기를 결정한다.
'Develop > Android' 카테고리의 다른 글
Basic Widget (0) | 2018.08.30 |
---|---|
Layout 종류 (0) | 2018.08.29 |
안드로이드 다국어 설정 (0) | 2018.08.22 |
안드로이드 스튜디오 cannot resolve symbol r (0) | 2017.08.18 |
[Android] Activity 화면 전환 (0) | 2017.01.03 |