일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 플로이드 와샬
- spring security
- javascript
- BOJ 2012
- MySQL
- BOJ 4485
- BOJ 2407
- BOJ 2213
- priority_queue
- springboot
- BOJ 4948
- AWS
- BOJ 1074
- BOJ 5791
- serverless
- BOJ 1912
- DP
- 분할과 정복
- 다익스트라
- BOJ 2146
- BOJ 11726
- Lambda
- BOJ 1926
- BOJ 6593
- BOJ 5568
- 조합 알고리즘
- BOJ 1697
- BOJ 2234
- Coercion
- BOJ 2167
- Today
- Total
고인물을 지양하는 블로그
[Android] View & View Group 본문
뷰는 UI 구성요소로, 사용자에게 보이는 화면의 구성요소들이 '뷰'이다. 이러한 뷰를 여러 개 포함하고 있는 것을 '뷰그룹'이라 부르고, 뷰그룹은 뷰를 상속해 뷰그룹도 하나의 뷰(요소)처럼 다룰 수 있다. 따라서 이런 상속 구조를 통해 안드로이드 UI를 자연스럽게 구성할 수 있다.
참고하는 교재 (Do it 안드로이드 앱 프로그래밍)에서는 엄밀하게는 아니더라도 뷰/위젯을 구별하고 있는데, 제어 역할을 하는 뷰(구성요소)를 위젯이라고 정의했다.
- 안드로이드에서는 어떤 것을 위젯이나 레이아웃이라고 부르는 걸까요?
..중략.. 즉, 어떤 것이 뷰이고 어떤 것이 위젯인가에 대해 명확하게 구분하기 보다는 화면을 구성하는 일반적인 요소를 뷰라고 정의한 후 그 중에서 사용자의 눈에 보이는 컨트롤의 역할을 하는 화면 구성요소를 위젯이라고 정의하고 있습니다. 마찬가지로 뷰를 담고 있는 그릇을 뷰그룹이라고 정의한 후 그 안의 뷰들을 배치하는 역할을 하는 것을 레이아웃이라고 정의하고 있습니다.
아래 그림에서 알 수 있듯, 모든 안드로이드 UI의 모든 요소는 View 클래스의 서브클래스이다. ImageView, Button.. 이외에도 많은 클래스들이 존재한다.
정리하면, 뷰(위젯)은 화면의 구성 요소, 레이아웃은 뷰/뷰그룹은 배치 구조를 규정한다.