Layout의 종류

1.     Layout의 종류

n  대표적인 레이아웃

레이아웃 이름

설명

리니어 레이아웃

- 박스 (Box) 모델

- 사격형 영역들을 이용해 화면을 구성하는 방법

- 표준 자바의 BoxLayout과 유사

상대 레이아웃

- 규칙(Rule)기반 모델

- 부모 컨테이너나 다른 뷰와 상대적 위치를 이용해 화면을 구성하는 방법

프레임 레이아웃

- 중복 배치 모델

- View를 동일한 위치에 중복하여 배치할 가능

- margin gravity를 이용하여 View를 특정한 위치에 배치 가능

- FragementVisibility를 이용한 View Change등에 주로 사용

그리드 레이아웃

- 격자(Grid) 모델

- 격자 모양의 배열을 이용하여 화면을 구성하는 방법

- HTML에서 많이 사용하는 정렬 방식과 유사하여 실용적임

스크롤 뷰

- 스크롤이 가능한 컨테이너

- 뷰 또는 뷰그룹이 들어갈 수 있으며 화면 영역을 너어갈 때 스크롤 기능 제공

 

2.     LinearLayout

n  속성

ü  채우기(fill model)
->
뷰를 부모 뷰의 여유 공간에 어떻게 채울 것인지 설정함

ü  방향(orientation)
->
뷰를 추가하는 방향을 설정함

ü  정렬방향(gravity)
->
뷰의 정렬 방향을 설정함

ü  여유 공간(margin)
->
뷰의 여유 공간을 설정함

ü  공간가중치(weight)
->
뷰가 차지하는 공간의 가중치 값을 설정함

n  정렬 방향 설정하기

ü  두 가지 정렬 속성

정렬 속성

설명

Layout_gravity

부모 컨테이너의 여유 공간에 뷰가 모두 채워지지 않아 여유 공간안에서 뷰를 정렬 할 때

gravity

뷰에서 화면에 표시하는 내용물을 정렬할 때(텍스트 뷰의 경우 내용물은 글자가 되고 이미지뷰의 경우 내용물은 이미지가 됨)

 

- layout_gravity

è  뷰의 layout_widthlayout_height 속성을 wrap_content로 할 경우에 같이 사용할 수 있음

n   공간가중치 설정하기

ü  Layout_weight 속성

è  LinearLayout Child를 배치하고 남은 여백을 어떻게 배치할 것인가를 설정

è  Layout_weight가 설정되어 있는 child간 값의 비율로 여백을 분배

è  Layout_wegiht는 여백을 나눠가지는 비율이지 child view간의 상대적 크기가 아님

3.     RelativeLayout

ü  부모 컨테이너나 다른 위젯들과 상대적 위치를 이용하여 배치하는 레이아웃

ü  다른 widget의 정보를 기준으로 내 위치를 결정하는 방식으로 ChildParent나 다른 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

+ Recent posts