● 뷰(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 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로 캐스팅 할 수 있다.
'OS > Android' 카테고리의 다른 글
Asset 폴더에 있는 ogg 파일을 패키지 디렉토리로 복사하기 (0) | 2019.11.13 |
---|---|
Android Assets DB 파일 패키지 data 폴더로 이동하기 (0) | 2019.11.13 |
Android AudioFocus (0) | 2019.10.31 |
Android Studio Debugger (0) | 2019.10.29 |
안드로이드 ManifestFile (0) | 2019.08.16 |