[Android 구조 및 개념] 안드로이드 뷰 계층 구조(view hierarchy)

이기덕·2022년 6월 29일
0
post-thumbnail

레이아웃

레이아웃은 앱에서 사용자 인터페이스를 위한 구조를 정의하며, 레이아웃의 모든 요소는 View와 ViewGroup 객체의 계층 구조를 사용하여 빌드된다.

위젯(widget)

  • 사용자가 화면을 보면서 상호 작용하는 뷰.
  • 위젯에는 화면에 텍스트나 그래픽 등으로 표현되는 것이 있으며, 버튼 과 같이 터치(클릭)하면 작업을 수행하는 것이 있다.

모든 위젯은 View 클래스의 인스턴스이거나 View의 서브 클래스(ex TextView, Button)중 하나의 인스턴스다.

뷰그룹(ViewGroup)

뷰그룹(ViewGroup)은 View의 일종이며, 다른 뷰를 포함하고 배치해 화면에 보여주지만 그 자신은 화면에 나타나지 않는다. 레이아웃도 뷰그룹이다.

뷰 계층 구조(view hierarchy)

위젯은 view 객체의 계층 구조에 존재하며, 이것을 뷰 계층 구조라고한다.
아래 이미지는 UI 레이아웃을 정의하는 뷰 게층 구조의 예이다.

위 예시에서 view 객체는 일반적으로 위젯이라 하고, ViewGroup 객체는 레이아웃이라고 한다.

레이아웃을 선언하는 방법

안드로이드에서 레이아웃을 선언하는 방법은 두 가지가 있으며, 아래와 같다.

  • 레이아웃은 xml로 선언
  • 런타임에 레이아웃 요소를 인스턴스화

위와 같은 방법을 통해 xml에서 UI를 선언하면 동작을 제어하는 코드로 부터 앱표현을 분리할 수 있으며, xml에서 선언한 레이아웃을 런타임에 수정할 수 있다.

Reference

https://developer.android.com/guide/topics/ui/declaring-layout?hl=ko

profile
Kotlin

0개의 댓글