본문 바로가기
개발/Android

[Android] LayoutInflater 정리

by 1인용 놀이터 2025. 3. 10.
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