티스토리 뷰

Android

인플레이션(Inflation) 예시

varyeun 2020. 3. 25. 23:07

인플레이션 : XML 레이아웃에 정의된 내용이 메모리에 객체화되는 과정

= XML 레이아웃 파일 안에 들어있는 뷰 태그들을 이용해 뷰 객체를 메모리에 만드는 과정

 

setContentView( ) 메소드의 역할

  - 화면에 나타낼 뷰를 지정하는 역할

  - XML 레이아웃의 내용을 메모리 상에 객체화하는 역할

  - 액티비티 레이아웃 XML만 인플레이션 됨

 

그래서 레이아웃을 상속해서 만든 뷰는 화면 배치가 필요하기 때문에 XML 레이아웃을 만들고 그 레이아웃을 소스파일에 설정하게 된다. 레이아웃 인플레이터 객체는 시스템 서비스 객체로 제공되기 때문에 getSystemService 메소드를 이용해 참조한다.

 

그리고 뷰 객체가 있으면 그 뷰 객체에 인플레이션한 결과물을 설정한다.

 

XML 레이아웃의 이름이 sub1.xml로 만들어져 있다면,

이 레이아웃에 들어가있는 뷰는 메모리에 객체로 만들어진 후에 --> container 뷰 객체에 설정되는 구조

 

+ 동적으로 레이아웃이 변경, 추가되는 경우에도 사용된다고 한다.

 

'Android' 카테고리의 다른 글

스피너 spinner 예시  (0) 2020.03.29
리스트뷰, 그리드뷰 예시  (0) 2020.03.26
비트맵 버튼 예시  (0) 2020.03.25
AlertDialog (알림 대화상자) 예시  (0) 2020.03.25
토스트, 스낵바 예시  (0) 2020.03.25
댓글