일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- ViewModel
- Jetpack
- rxjava
- Room
- sourcetree
- Java
- livedata
- androidstudio
- github
- programmers
- homebrew
- ReactiveProgramming
- IntelliJ
- Database
- git
- Algorithm
- FRAGMENT
- library
- Kotlin
- Version
- Android
- Java8
- leetcode
- Today
- Total
Learn & Run
Android - 인플레이션(Inflation) 이해하기 (2) 본문
이전 포스팅에서는 setContentView 메서드를 통해서 전체 화면이 인플레이션 과정을 거친 후 실제 화면으로 보여지게 된다는 것을 알수 있었다. 하지만 FrameLayout이나 Adapter를 사용할 때처럼 전체 화면 중에서 일부분만을 차지하는 화면 구성요소들을 XML레이아웃에서 로딩하여 보여주고 싶을 때 (부분화면일 경우) LayoutInflater의 inflate 메서드를 사용할 수 있다. 이번 포스팅에서 직접 다루어 봄으로써 부분 화면에 대한 사용 예시를 확인해 보도록 하자.
1. 부분 화면 띄우기
사용자로써 우리가 사용하는 대부분 앱들은 시작하면서 초기화된 전체 화면뿐만 아니라 다양한 화면들이 보여지고 사라진다는 것을 알고있다. 전체 화면이 보여진 이후에도 부분 화면들로 보이는 것들을 제어할 수 있다는 것을 의미한다. 이때 우리가 사용하는 것이 LayoutInflater의 inflate메서드 이다. 이전 포스팅에서 확인해 본 것 처럼 기본 프로젝트를 생성하면 setContentView(int resId)를 통해 실제 화면으로 보여지게 하는 것과 같은 방식이라고 할 수 있다.
이제 앱을 실행시킨 후에 버튼을 눌러보자. 그러면 FrameLayout에 layout_add.xml 파일이 붙어 노출되는 것을 확인할 수 있다.
2. Adapter 에서 사용 예시 (BaseAdapter 상속)
실제 프로젝트를 진행하고 있는 코드인데 아래 이미지를 확인해 보면서 인플레이션 감각을 익혀보도록 하자.
코딩을 하는 동안에 이전 직장에서 나를 항상 채찍했었던 말이 종종 떠오르곤 한다. '생각좀 하고 코딩하세요', '이 기술 사용에 대해 장단점을 알고 사용하시나요?'와 같은 말이다. 오늘도 나는 반성한다. 반성하면서 무엇이 부족한지, 필요한지 알아가며 내일은 오늘보다 더 성장할 것이라 믿는다.
+ 혹시나 수정해야 할 내용들이 있다면 댓글 달아주시면 감사하겠습니다. 또한 궁금증이 있으시다면 같이 고민하고 싶습니다.
'Android' 카테고리의 다른 글
Jetpack - Room (2) (0) | 2021.07.15 |
---|---|
Jetpack - Room (1) (0) | 2021.07.14 |
Android - ViewHolder Class는 Static과 Non-static 중에 무엇으로 정의하는 것이 좋을까? (0) | 2021.06.23 |
Android - ListView에서의 getView() 메서드, ConvertView와 ViewHolder Pattern를 통해 성능 개선하기 (0) | 2021.06.21 |
Android - 인플레이션(Inflation) 이해하기 (1) (1) | 2021.06.09 |