기본으로 제공되는 주요 테마 살펴하기
참고 프로젝트: ThemeDemoA2
테마를 직접 만들어서 설정할 수도 있지만, 기본으로 제공하는 테마를 사용하는 것이 여러모로 편하다. 이러한 테마에는 어떤 것이 있는지 살펴보도록 하겠다. 이 테마를 적용하기 위해서는 이전 예제에서 살펴본 것처럼 AndroidManifest.xml에 android:theme 속성을 설정해야 한다.
안드로이드에서 제공하는 테마는 매우 다양하므로 테마만 잘 활용해도 애플리케이션을 일관되게 꾸밀 수 있다. 안드로이드 3.0 이전 버전에는 "@android:style/Theme"로 시작하는 테마를 사용할 수 있었으며 안드로이드 3.0부터는 새롭게 추가된 홀로그래픽 테마를 사용할 수 있다. 이 테마는 이름이 "@android:style/Theme.Holo"로 시작한다. 각각의 테마는 안드로이드 버전에 맞는 UI를 가지고 있으므로 안드로이드 버전에 맞게 테마를 선택해야 한다. 하지만 애플리케이션을 개발할 때 특정 버전의 안드로이드만 고려할 수는 없기 때문에 사용자의 안드로이드 버전에 맞게 적절히 다르게 보여주는 테마가 필요하다. 그래서 안드로이드는 "@android:style/Theme.DeviceDefault"로 시작하는 테마를 제공하고 있다. 이 섹션에서는 이러한 테마들 중에서 자주 사용하는 테마 몇 개를 살펴보도록 하겠다. 다음은 XML파일의 테마를 입력하는 곳에서 CTRL+SPACE를 눌러 선택할 수 있는 테마들을 나열한 것이다.
Theme.DeviceDefault로 시작하는 테마는 크게 3가지 테마, 즉 검은색으로 화면을 구성하는 Theme.DeviceDefault 테마, 흰색으로 화면을 구성하는 Theme.DeviceDefault.Light 테마, 기기의 배경 화면을 배경으로 사용하는 Theme.DeviceDefault.Wallpaper 테마로 분류할 수 있다. 또한 테마 이름 중에는 Theme.DeviceDefault.NoActionBar나 Theme.DeviceDefault.NoActionBar.Fullscreen처럼 NoActionBar나 Fullscreen이 붙은 것이 있다. 먼저 NoActionBar가 붙은 테마는 액션바가 없다는 의미이며 NoActionBar와 Fullscreen이 함께 붙은 테마는 액션바도 없고 기기 상단의 상태바도 없는 전체 화면을 사용하는 테마를 의미한다. 그리고 Dialog가 붙은 테마는 다이얼로그를 보여주는 테마를 의미하며, Panel은 Dialog 테마에서 배경 없이 텍스트만 표시되는 테마를 의미한다. 이러한 이름의 의미를 상기하면서 다음 내용을 살펴보기 바란다.