본문 바로가기

OS/Android

안드로이드 View와 ViewGroup

반응형

● 뷰(View)란 무엇인가?

 

- 공식문서에서의 View

 

This class represents the basic building block for user interface components. A View occupies a rectangular area on the screen and is responsible for drawing and event handling. View is the base class for widgets, which are used to create interactive UI components (buttons, text fields, etc.). TheViewGroup subclass is the base class for layouts, which are invisible containers that hold other Views (or other ViewGroups) and define their layout properties.

 

간단하게 안드로이드에서 View는 TextView나 Button과 같이 화면에 구성할 수 있는 모든 위젯들을 View라고 할 수 있다. 

 

View Class 상속도

 

View v;
v = findViewById(R.id.GoBackContainer); //ConstraintLayout
v.setOnClickListener(onClickListener);
v = findViewById(R.id.BtStopTimer);       //Button
v.setOnClickListener(onClickListener);
v = findViewById(R.id.tvPlayName);       // TextView
v.setOnClickListener(onClickListener);

 

VIew는 Object외의 거의 모든 위젯들의 최상위 클래스라고 볼 수 있으므로 대다수의 위젯들을 캐스팅할 수 있다.

따라서 위 코드처럼 각각 다른 위젯들에게 ClickListener를 달아줄 수 있다.

 

 

● 뷰그룹(ViewGroup)이란 무엇인가?

 

- 공식문서에서의 ViewGroup

 

ViewGroup is a special view that can contain other views (called children.) The view group is the base class for layouts and views containers. This class also defines the ViewGroup.LayoutParams class which serves as the base class for layouts parameters.

 

뷰그룹은 LinearLayout, FrameLayout, ConstraintLayout과 같은 Container와 layout처럼 다른 뷰들을 담을 수 있는 역할을 하는 것이 ViewGroup이다.

 

약간 글로만 보았을 땐 ViewGroup이 View보다 상위 클래스처럼 느껴질 수 있는데 사실은 그렇지 않다. ViewGroup 또한 View의 자식 클래스이기 때문에 Container와 layout도 View로 캐스팅 할 수 있다.

 

ViewGroup Class 상속도

반응형