안드로이드 응용 프로그램의 화면을 구성하는 주요 단위는 액티비티이다.
액티비티 자체는 화면에 직접적으로 보이지 않으며 액티비티 안의 뷰가 사용자를 대면하는 실체이다.
뷰가 모여 액티비티를 구성하고 액티비티가 모여 하나의 응용 프로그램이 되는 것이다.
그렇다면 뷰의 계층은 어떻게 만들어져 있을까?
1. 위젯: 직접적으로 보이며 사용자 인터페이스를 구성한다. 버튼, 텍스트 뷰, 에디트, 라이오 버튼 등이 위젯이며 흔히 컨트롤이라고 부른다.
View도 자바 클래스의 일종이므로 당연히 최상위 Object로 부터 파생된다.
이들은 스스로 그릴 수 있는 능력을 가지고 있고, 굵은 상자의 것들이 빈번히 사용되어 지는 것들이다.
2. ViewGroup : 직접적으로 보이지는 않으며 다른 뷰를 담는 컨테이너 역할을 한다. 이름 그대로 여러 개의 뷰를 유기적으로 모아놓은 것이다. 이 부류의 클래스들을 레이아웃이라고 한다.
우선 뷰그룹은 뷰로 부터 파생되었다.
단순 위젯에 비해 여러 개의 뷰가 모인 것이므로 아무래도 기능이 많고 좀 더 복잡하다.