Android 기술 Q&A 
Q&A 게시판에 질문을 남기신 글에 대한 답변/덧글/쪽글에 대한 Push 메일 서비스를 받고자 하시는 분들은
☞ Push 메일 서비스 공지를 필독하시기 바랍니다.
Re..Theme 추가 방법 문의
작성자
작성일 2008-12-16 (화) 05:51
ㆍ추천: 0  ㆍ조회: 10325      
IP: 125.xxx.181
일단...아시는 것이겠지만, 현재 안드로이드에서 사용하는 Theme는 다음과 같은 방식으로 사용하는 것입니다.
 

<!-- AndroidManifest.xml--> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.android.home"> <application android:theme="@android:style/Theme.Light" > <activity class=".Home" ... </activity> </application> </manifest>

 
위의 AndroidManifest.xml에서 정의된 Theme.Light 는 아래의 박스와 같이 정의되어 있으며,
해당 정의는 아래의 안드로이드 소스와 SDK의 android.jar에 존재하게 됩니다.
 
- 안드로이드 소스 : ~/mydroid/frameworks/base/core/res/res/values/themes.xml
- android.jar : elipse plugin을 통해 개발 시 참조되기 위해 framework resource 형태로 포함됨.
 
 
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="Theme">
    <!-- 중략 -->
        <style name="Theme.Light">
            <item name="windowBackground">@drawable/screen_background_light</item>
            <item name="colorBackground">@android:color/background_light</item>
            <item name="colorForeground">@color/bright_foreground_light</item>
            <item name="colorForegroundInverse">@android:color/bright_foreground_light_inverse</item>
             <!-- 중략 -->
        </style>
    </style>
</resources>
 

 
위와 같은 안드로이드 Application의 글로벌 영역에서 존재하는 것을 해당 Application 내에서 정의하기 위해서는
다음과 같은 절차로 가능할 듯 합니다.
 

<!-- AndroidManifest.xml--> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.android.home"> <application android:theme="@android:style/Theme.Light" > <activity class=".Home" ... </activity> </application> </manifest>

 
즉, 개별 애플리케이션 내에서 정의한 theme를 사용하기 위해 android: 라는 prefix를 삭제함과 동시에,
개별 애플리케이션의 style 정의에서는 허용되지 않는 style name value 구조인 <name>.<name>의 . 을
삭제해야 할 듯 합니다.
 
더불어 아래와 같이 개별 애플리케이션의 res/values/themes.xml 를 만드신 후, 다음과 같이 약간 변형하면 될듯 합니다.
 
 
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="Theme">
    <!-- 중략 -->
        <style name="Theme.Light"> <!-- ThemeLight 로 변경 -->
            <item name="android:windowBackground">@android:drawable/screen_background_light</item>
            <item name="android:colorBackground">@android:color/background_light</item>
            <item name="android:colorForeground">@android:color/bright_foreground_light</item>
            <item name="android:colorForegroundInverse">@android:color/bright_foreground_light_inverse</item>
             <!-- 중략 -->
        </style>
    </style>
</resources>
 

 
위와 같은 구조로 변경하는 것이 옳은 방법일 듯 한데, eclipse plugin에서 위의 xml 문서에 대한 유효화 과정에서
일부 xml element에 대한 value에 대해 오류라고 지적하는듯 합니다...(그 부분은 적당하게 피해가면 될 듯 합니다.)
 
 
=====================================
■ [올라떼] Theme 추가 방법 문의 (2008-12-15 14:22)
Android에서 기존 Androi에서 제공해주는 Theme을 상속받지 않고
새로운 Theme을 만들어서 소스에 포함시키려면 소스 어느 부분을 수정해야 하나요?
웹에서 Theme과 관련된 것을 찾으니 기본적으로 제공해주는 테마에 일부 속성을 변경하는 방법만 나온 것 같아서요.
제가 제대로 서치를 못했을 수도 있습니다. ^^;
 
혹시 아시는 분은 알려주세요~`
덧글 쓰기 0
3500
※ 회원등급 레벨 0 이상 읽기가 가능한 게시판입니다.
    N     분류     제목    글쓴이 작성일 조회
4703 인디케이터(indicator) 혹은 status bar라 불리는 상단 바 없.. 2008-12-04 12703
4702 kandroid project에 참여 할려면 어떻게 해야 합니까..?.. 2008-12-04 7997
4701 xml-rpc 관련 자답....ㅠㅠ 2008-12-04 8315
4700 android 에서 xml 작성시 id 에 관한 질문입니다. 2008-12-05 8476
4699 t-mobile g1 unlock관련 질문입니다. 2008-12-05 8411
4698 두번째 구글폰 아고라? 2008-12-05 8137
4697 구글 안드로이드도 사업화 분야는 비공개 인가봐요 ???.. 2008-12-06 8433
4696 map view 관련 2008-12-06 8417
4695 Q. Android Dev Phone 1 구매 Hello, android 구동하기 2008-12-07 7973
4694 Could not initialize SDL - No available video device 질문.. 2008-12-07 9214
4693 "나의 위치" 관련해서 부탁드립니다. 2008-12-08 9343
4692 [Andriod] video telephony 지원 관련. 2008-12-08 8441
4691 혹시 대구 근처에서 G1 unlock 가능하신분 계신가요??.. 2008-12-08 7956
4690 Android browser는 무엇을 지원하나요.? 2008-12-08 8215
4689 time out?? 2008-12-08 16629
4688 [윈도우]리눅스에서만 컴파일을 해야되나요?? 2008-12-08 8472
4687 초보자의 onListItemClick 관련질문입니다. 2008-12-08 11534
4686 초보자의 onListItemClick 관련질문입니다.(2) 2008-12-08 11394
4685 Direct access to C/C++ Libraries in Application Framework 2008-12-09 8664
4684 multi-thread 대체 방법 2008-12-09 10625
4683 한국 지도... 2008-12-09 8408
4682 bootloader 질문입니다. 2008-12-09 8147
4681 simcardkorea에서 판매하는 테스트 심카드 사용해보신분 계시.. 2008-12-09 8571
4680 안드로이드 설치시 질문??? 2008-12-10 9549
4679 [문의] target과 DDMS로 연결시 offline 되는 문제 2008-12-10 27349
4678 구글 데브폰과 Unlocked G1의 차이? 2008-12-10 8508
4677 APN settings 어떻게 해야되는지요... 2008-12-10 8201
4676 안드로이드의 하드웨어적 제한? 2008-12-10 8715
4675 한국어 입력. 2008-12-10 8379
4674 현재날짜정보 관련 질문입니다. 2008-12-10 8552
4673 activity에서 다음 activity에 data 전달하는 방법은?.. 2008-12-11 9807
4672 G1 phone 사용자 있나요? 2008-12-11 8132
4671 Android , PUK Block.. 2008-12-11 8969
4670 기본 애플리케이션 연동관련 질문입니다. 2008-12-12 8259
4669 데브폰 구매를 위해서 개발자 등록을 하려는데. Location에 Ko.. 2008-12-12 8258
4668 오류가 나는데 이유를 알 수 없습니다. 2008-12-12 8524
4667 패키지명이 같은 어플 설치!?? 2008-12-12 11618
4666 안드로이드에 gcc가 올라갈까요? 2008-12-12 8351
4665 Native Library 관련 질문 2008-12-12 8454
4664 pxa320 에 안드로이드를 올려보려고 하는데... 2008-12-12 8365
4663 안드로이드의 DRM 패키지 사용에관한 질문.. 2008-12-12 9825
4662 MediaPlayer 에 대해서 궁금한게 있습니다. 2008-12-13 8443
4661 Accelerometer sensor for auto-rotate 2008-12-13 8651
4660 안드로이드 드라이버 이해를 위한 공부는 어떤 것을 먼저 해야.. 2008-12-15 8092
4659 Theme 추가 방법 문의 2008-12-15 8110
4658 맵을 사용하고 싶어요. 2008-12-15 8160
4657 Re..Theme 추가 방법 문의 2008-12-16 10325
4656 Android에 Bluez porting 해보신분들 계시나요? 2008-12-16 10867
4655 안드로이드 다국어지원관련 문의 2008-12-16 8631
4654 Android 빌드하는데 있어서 궁금한 것이 있습니다... 2008-12-16 8103
12345678910,,,101