이전에 Layout과 View의 차이에 대해서 알아보았다.

이번엔 XML과 View 사이에서 LayoutInflater가 하는 역할에 대해 알아본다.

 

View


View는 앱 사용자에게 실제로 보여지는 위젯이다.

 

Xml


XML은 View에 사용되는 Resource를 정의하여 저장해두는 문서이다.

이렇게 하면, Xml에 저장된 뷰를 재사용할 수 있어 용이하고, 로직과 뷰를 분리할 수 있어 가독성과 관리 측면에서 유리하다.

 

 

 

LayoutInflater


LayoutInflater는 xml에 정의된 뷰 리소스를 메모리에서 사용할 수 있는 View객체로 반환하는 역할을 한다.

따라서, 뷰 리소스가 정의되어 있는 Xml을  객체화(Objectify) 실제 앱에 사용하고 싶을 때 이 과정을 담당하는 것이 LayoutInflater이다.

'Android' 카테고리의 다른 글

[Android] 인텐트 (intent)  (0) 2021.03.24
[Android] Layout 과 View  (0) 2021.03.16

안드로이드 앱 개발을 시작하면 View와 Layout이 등장한다.

둘의 차이점이 모호하게 느껴져 명확하게 하고 싶었다.

 

Layout, View


Layout은 View를 포함하는 보이지 않는 틀이다.

View는 실제로 사용자가 어플을 사용할 때 보이는 위젯이다.

 

그렇다면 Layout은 보이지 않는데 왜 필요할까?


View 위젯들을 배치하는 과정에서 Layout의 존재가 없다면 중구난방일 것이다. 앱을 개발하다보면 View는 각각 독립적으로 따로 노는 것이 아닌, 하나의 흐름을 갖기도 하고, 하나의 기능을 나타내기도 하며, 사용자에게 제공하고자 하는 작은 단위 서비스의 묶음이 되기도 한다. 그래서, View들을 그룹화해 정렬하거나 배치하고자 하는 필요가 생길 것이다.

Layout이 이를 담당한다.

 

 

Layout과 View의 포함관계


Layout이 View를 그룹화하는데 사용되지만, 이렇게 View를 그룹화한 Layout이 다시 상위 View로 나타내지기도 한다.

 

View안에 (ex. HorizontalScrollView) 여러 View들(ex. TextView)을 그룹화하여 나타내고 싶을 때, Layout(ex. LinearLayout)을 통해서 작은 여러 View들을 묶어 큰 View(ex. HorizontalScrollView)로 나타내줄 때도 있다는 것이다.

'Android' 카테고리의 다른 글

[Android] 인텐트 (intent)  (0) 2021.03.24
[Android] XML, View 그리고 LayoutInflater  (0) 2021.03.16

+ Recent posts