XML - 03. Linearlayout
03. Linearlayout
- 부모 컴포넌트는 자식의 위치를 정한다.
-------------------------------------------------------------------
orientation(1)
- 세로 방향을 정함
그 중에서 orientation을 통해서 가로 세로 방향을 정한다.
여기서는 vertical이라고 적어주었다.
그러니까 이렇게 세로로 문자가 출력이 된다.
-------------------------------------------------------------------
orientation(1)
- 가로 방향을 정함
이번에는 horizontal 로 적어주었다.
그러니까 이렇게 가로로 문자가 출력이 된다.
-------------------------------------------------------------------
layout_gravity
- 위치를 정한다.(왼쪽 오른쪽 중간)
- 부모 컴포넌트를 기준으로 정한다.
만약에 자식 컴포넌트에 이것을 적으면 각각의 자식노드 마다 위치를 정할 수 있고,
부모 컴포넌트에 이것을 적으면 일괄적으로 지정이 된다.
center이라고 적었기 때문에 중간에 출력이 되는 것을 확인 할 수 있다.
-------------------------------------------------------------------
gravity
- 지정된 영역에서의 위치 설정
- 자식 컴포넌트를 기준으로 정한다.
이렇게 gravity를 통해 지정된 width와 height 내에서의 위치를 정할 수 있다.
또한 중복되게 정하고 싶을때는 | 를 사용한다.
그럼 해당 영역에서의 위치가 이렇게 출력되게 된다.
-------------------------------------------------------------------
lmageView
이번에는 ImageView를 사용하기로 하자.
여기서 width와 height는 이미지의 넓이와 높이를 의미한다.
그리고 background 기능이 있는데, 여기서 #RGB 값으로 넣을 수 있다.
그럼 다음과 같이 해당 RGB 값의 background가
해당 width, height 만큼 나오는 것을 확인할 수 있다.
-------------------------------------------------------------------
match_parent
- 전체 크기 만큼이다.
이렇게 match_parent는 전체 부모의 크기,
즉 전체 화면의 크기를 의미한다.
그럼 이렇게 width가 꽉 차게 나오는 것을 확인할 수 있다.
-------------------------------------------------------------------
wrap_content
- 내용물을 포함할 수 있을 정도만의 크기
TextView에서 "안녕하세요" 를 wrap_content로 지정해주었다.
그랬더니 "안녕하세요" 글자를 감쌀 수 있을 정도만 출력이 되는 것을 확인할 수 있다.
즉, textSize에 따라서 달라진다는 것이다.
-------------------------------------------------------------------
layout_weight
- 영역에서의 비율을 정해준다.
이렇게 weight를 각각 써주면 그 비율로 출력이 된다.
이때 horizontal이었기 때문에 보통 width를 0dp로 정한다.
만약 vertical이면 height를 0dp로 정한다.
1 : 2 : 3 이런식으로 출력이 되는 것이다.
-------------------------------------------------------------------
weightSum
- 전체를 몇 조각으로 나눌 것이냐이다.
weightSum을 10으로 설정해주었다.
아마 10조각에서 몇 조각을 차지하는지로 나뉠 것이다.
그럼 아까와 다르게 뒷 부분이 남는 다는 것을 확인할 수 있다.
10조각 중에서 1조각을 100이, 2조각을 200이, 3조각을 300이 가져가고,
나머지 4조각은 빈칸으로 남는다는 것이다.