(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
안드로이드 뷰(Android View)란?
뷰(View) 뷰는 안드로이드 기본 화면을 구성하는 모든 기본 화면의 구성요소이다. 우리가 어플리케이션에서 보는 버튼, 테이블, id/pw 입력 칸 등등 모든 것이 뷰가 된다. HTML로 예를 들어보면 이미
www.crocus.co.kr