본문 바로가기

FrontEnd/Android 기초

[Android] Inflater

반응형

Inflater

 

setContentView() 메소드는 View나 xml  파일(view들로 구성)을 메모리상에 객체화하여 화면에 보여주는 역할을 한다. 이때 필요한 과정이 inflate이다. inflate는 Layout파일인 xml 내용이 메모리상에 로드(load)되어 객체화 되는 것을 말한다. 즉, xml 파일에 정의해놓은 view들을 실제의 view 객체로 만드는 역할을 한다.

 

먼저 activity_main.xml 파일을 setContectView() 메소드의 매개변수로 넣어 화면전체를 설정한다. 전체 화면 중 일부 화면만 다른 xml파일로 구성된 Layout을 보여주려면 LayoutInflater 클래스를 사용해야한다. 

 

inflater 메소드는 LayoutInflater클래스의 메소드이다. 이 메소드를 사용해서 다른 xml 파일에 들어있는 뷰들을 화면에 표시할 수 있다. inflate 메소드를 사용하는 방법은 다음과 같다.

 

inflate(리소스, 뷰그룹.true);
// 예제: inflater.inflate(R.layout.image, partxml, true);
//  리소스: inflate를 할 일부 화면 코드
// 뷰그룹: 일부 화면을 추가로 넣을 부모 콘테이너

 

본 예제에서는 setContentView 메소드를 사용하여 activity_main.xml파일로 전체 화면을 설정하였다. activity_main.xml파일은 1개의 버튼과 image.xml파일을 inflate하여 담을 1개의 Linear-layout으로 구성되어 있다. 버튼을 터치하기 전에는 화면에 버튼만 제시된다. 버튼을 터치하게 되면 image.xml파일이 activity_main.xml파일의 일부분으로 inflate되어 버트노가 이미지가 함께 보이게 된다. 

 

 

반응형