[Android] View와 ViewGroup의 관계
Android

[Android] View와 ViewGroup의 관계

(1) View

안드로이드에서 사용자가 눈으로 보는 모든 것은 View이다. 화면의 기본적인 컴포넌트라고 얘기 할 수 있다.

TextView, ImageView, EditText, ... 등 자주 쓰는 모든 UI 관련된 컴포넌트는 View라는 클래스를 상속 받는다.

 

public class Button extends TextView {
....
}


public class TextView extends View implements OnPreDrawListener {
....
}

그림과 코드에서 보이는 것과 같이, 최상단에 View가 있으며, 모든 UI 관련 컴포넌트는 결국 View를 상속받아 구현된다.

View 안에 View를 포함할 수 있으며, 중첩하여 사용 할 수 있다.

 

(2) ViewGroup

 

ViewGroup은 n개의 View를 포함할 수 있는 Container이다.

정의 상으로는 낯설어 보일 수 있으나, 우리가 자주 쓰는 레이아웃이 ViewGroup에 해당한다.

ex) LinearLayout, ConstraintLayout ...

 

n개의 View를 포함하는 ViewGroup 역시도 View를 상속받아 만들어진 클래스이다.

 

 

 

ViewGroup에는 View, ViewGroup이 포함될 수 있으며, ViewGroup은 결국 View를 포함한다. 모든 UI는 결국 View이다.

 

View에 대해 공부하고 느낀 부분은 막연하게 구현되어있는 View만을 고집하지 않고, CustomView 구현 등의 방식을 익혀 이를 적재적소에 활용 할 수 있다면 성능과 코드 리팩토링 등에 있어 많은 효율을 낼 수 있을 것이라고 생각한다.

 

View를 상속받은 많은 클래스들이 있지만 결국 CustomView와 같이 상황에 맞는 유동적인 방식이 도움이 될 테니까 말이다.

 

 

 

출처 : https://developer.android.com/reference/android/view/View

 

View  |  Android Developers

 

developer.android.com

 

https://www.charlezz.com/?p=853

 

ViewGroup과 View의 관계 | 찰스의 안드로이드

ViewGroup과 View의 관계 안드로이드의 UI는 ViewGroup과 View의 계층으로 이루어집니다. 타입 설명 View View는 액티비티에서 화면을 구성하는 최소 단위로 화면에 보이는 모든것은 View입니다. 또 다른말

www.charlezz.com

 

https://www.crocus.co.kr/1545

 

안드로이드 뷰(Android View)란?

뷰(View) 뷰는 안드로이드 기본 화면을 구성하는 모든 기본 화면의 구성요소이다. 우리가 어플리케이션에서 보는 버튼, 테이블, id/pw 입력 칸 등등 모든 것이 뷰가 된다. HTML로 예를 들어보면 이미

www.crocus.co.kr