레이아웃 인플레이션
인플레이션: XML레이아웃에 정의된 내용이 메모리에 객체화되는 과정
public lass MainActivity extends Activity{
@Override
publc void onCreate(savedInstanceState);
super.onCreate(savedInstanceState); //내부적으로 인플레이션을 한다. 메모리상에 객체화 하는 과정
Button button1 = (Button) findViewById(R.id.button1); //인플레이션이 되어 메모리 상에 올라간다.
button.setText("시작됨");
setContentView(R.layout.activity_main);
}
}
---------------------------------------------------------------------------------------------------
public void setContentView(int layoutResID)
public void setContentView(View view[ViewGroup.LayoutParams params])
setContentView() 메소드의 역할
-화면에 나타낼 뷰를 지정하는 역할
-XML레이아웃의 내용을 메모리 상에 객체화 하는 역할
getSytemService(Context.LAYOUT_INFLATER_SERVICE)
*전체 화면 중에서 일부분만을 차지하는 화면 구성요소들을 XML레이아웃에서 로딩하여 보여주는 방법은
LayoutInflater 라는 클래스를 제공하며, 이 클래스는 시스템 서비스로 제공됨
단말이 시작되면 뒤에서 계속 동작하는 것들을 말한다.
---------------------------------------------------------------------------------------------------
-안드로이드에서 화면: 소스와 화면 구성이 분리되어 있다.
자바소스 1개, XML레이아웃 1개
-화면 전체: 액티비티 -> setContentView 에서 인플레이션
액티비티를 위한 자바소스 1개 :MainActivity.java
액티비티를 위한 XML레이아웃 1개: activitiy_main.xml
-부분 화면 -> 수동으로 인플레이션
부분화면을 위한 자바소스 1개 또는 뷰(뷰가 1개의 소스 파일로 분리될 수 있음)
부분화면을 위한 XML레이아웃 1개: singer.xml
'IT > 안드로이드 독학하기' 카테고리의 다른 글
| 안드로이드 스튜디오 intent 암시적 (0) | 2016.09.18 |
|---|---|
| 안드로이드 스튜디오 intent 명시적 (0) | 2016.09.18 |
| 프레임 레이아웃 (0) | 2016.09.18 |
| [6] 다양한 뷰에 대해 알아보자!! (0) | 2016.08.27 |
| [5] 다양한 뷰 그룹의 속성에 대하여 알아보자 FrameLayout (0) | 2016.08.25 |
