security/XML

XML - 03. Linearlayout

aristia 2020. 7. 30. 03:11

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조각은 빈칸으로 남는다는 것이다.