728x90
반응형
LayoutInflater
- 안드로이드에서 View를 만드는 방법 중 하나.
- layout XML 파일을 통해 View 객체 실체화, 즉 XML리소스를 View 객체로 반환해 주는 역할.
- xml에 미리 정해둔 틀을 실제 메모리에 올려주는 역할을 한다.
- setContentView() 메소드도 inflater를 통해 이루어지는 유사한 역할을 한다.
- LayoutInflater 객체의 inflate 메소드를 이용해 새로운 view를 생성할 숭 ㅣㅆ따.
LayoutInflater 선언 방법
1.
LayoutInflater layoutInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View view = layoutInflater.inflate(R.layout.listview_item, parent, false);
2.
View view = LayoutInflater.from(context).inflate(R.layout.listview_item, parent, false);
LayoutInflater 사용 시 주의사항
- inflate() 메서드로 layout을 inflate 한 경우, 해당 xml의 land, port layout을 자동으로 참조
- inflate() 된 view 의 child view는 inflate 된 view.findViewById로 찾아야 한다
- inflate() 된 view의 layoutParams 속성은 실제 layout 에서 match_parent 라도, wrap_content 로 강제로 변경된다. (inflate 된 view는 parent 가 없어지기 때문에 강제로 wrap_content 시킨다.)
- inflate 된 뷰에서 다시 layout inflater 를 사용할 경우, 기존의 findViewById와 event 설정들이 모두 사라진다.
728x90
반응형
'개발 > Android' 카테고리의 다른 글
| [Android] RecyclerView ? (0) | 2025.04.11 |
|---|---|
| [Android] ViewBinding 정리 (1) | 2025.03.13 |
| [Android] 화면 회전 시 onDestroy 안되도록 (0) | 2025.03.06 |
| [Android] View LifeCycle 정리 (0) | 2025.03.04 |
| [Android] Service LifeCycle 쉽게! (0) | 2025.03.04 |