본문 바로가기

테마강좌

[러그의 테마강좌] 구문 하나로 앱의 테마를 바꿔보자 (블렉, 화이트)

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

블렉박스님이 올린것과 합치면 벌써 10번째 강좌네요..


오늘은 구문 하나로 앱의 전체적인 테마(블렉, 화이트)를 바꿔보는 법을 배워봅시다~ ^^


안드로이드는 ICS부터 Holo란 테마를 기본적으로 가지고 있습니다.

앱에서는 구문 하나로 전반적인 Holo 테마를 바꿀 수 있습니다.


그럼.. 아래 그림을 봅시다..

기본적인 Holo 테마 3개입니다.


차례대로..

Holo (Holo Dark)

Holo Light

Holo Light Dark Action Bar

가 있습니다.


▼ XML에서는 이 구문들을 이렇게 표시하게 됩니다.

 테마 이름

 XML에서의 테마 구문

 Holo (Holo Dark)

 @*android:style/Theme.Holo

 Holo Light

 @*android:style/Theme.Holo.Light

 Holo Light Dark Action Bar

 @*android:style/Theme.Holo.Light.DarkActionBar

 Holo (Holo Dark) 타이틀바 숨김

 @*android:style/Theme.Holo.NoActionBar

 Holo Light 타이틀바 숨김

 @*android:style/Theme.Holo.Light.NoActionBar



자.. 그럼 본격적으로 수정에 들어가봅시다.


1. 앱 디컴파일

앱을 APK Manager의 9번 옵션을 통해 디컴파일해줍시다.


2. 앱이름/AndroidManifest.xml 열기

앱을 디컴파일하고 난 후 디컴파일된 앱 최상위 폴더에 AndroidManifest.xml 이란 파일이 하나 있을겁니다.

마우스 오른쪽 단추(목록)을 눌러 Edit with Notepad++를 선택해 열어줍시다.


3. android:theme 구문 찾기 및 수정

Notepad++ 상단에 돋보기 모양으로 '찾기'란 기능이 있습니다.

그 기능을 이용하여 위 사진에 밑줄 표시한 android:theme 를 검색합시다.

* 단, <application 안에 들어있는 구문을 찾으셔야 합니다. <activity 안에 있는 구문을 찾으시면 안됩니다.

그리고 그 android:theme 의 값(="이곳") 안에 있는 내용(@style/AppTheme)을 모두 지우시고 위 표에 나와 있는 'XML에서의 테마 구문'을 참조하여 값을 수정해주세요

(예, android:theme="@*android:style/Theme.Holo.Light")


4. 컴파일 및 적용

컴파일해서 생긴 unsignedxxxx.apk 파일에서 'resources.arsc' 파일과 'AndroidManifest.xml파일을 추출하여 원본 apk파일에 덮어씌워주시고, 기기에 설치 또는 적용해주시면 됩니다.

* 사용자 설치 앱일 경우 sign 작업도 해주셔야 합니다.

* AndroidManifest.xml의 android:minSdkVersion값이 "14" 미만일 경우 컴파일시 오류가 뜨게 됩니다.



* 삼성 갤럭시 기본 테마 목록

 테마 이름

 XML에서의 테마 구문

 Touchwiz (블렉)

 @*android:style/Theme.DeviceDefault

 Touchwiz Light (화이트)

 @*android:style/Theme.DeviceDefault.Light

* 삼성 기종이 아닌 타기종에 이 구문을 넣게 되면 기본 Holo 또는 HoloLight 테마가 뜨게 됩니다.


이상 구문 하나로 앱의 테마를 바꿔보자.. 강좌였습니다.