1. Style이란?

    Element(View)단위로 적용할 수 있는 하나 이상의 Formatting Attribute의 집합.
2. Theme이란?
    Activity 또는 Application 단위로 적용할 수 있는 하나 이상의 Formatting Attribute의 집합.
3. Style의 정의 및 적용
    1) Style을 정의하기 위해서는 우선 res/values 폴더에 styles.xml 파일을 생성해야 한다.
    2) 파일의 root로 <resources>를 추가한다.
    3) <resources> </resources>안에 하나 이상의 <style> element를 선언한다.
    4) 이때 style element는 attribute로 name(mandatory)과 parent(optional)를 갖을 수 있다.
        name은 view element에서 레퍼런스하거나 다른 style에서 상속받기 위하여 필요하며
        parent에는 상속받고자 하는 다른 style element의 이름이 온다.
    5) style element는 하나 이상의 <item> element로 구성되어 있는데, 각각의 item element는
        name과 name에 해당하는 값을 갖는다. item element의 name으로 style의 속성을 구분한다.
[실제 styles.xml 파일의 예]
<?xml version=”1.0″ encoding=”utf-8″?>
<resources>
<style name=”SmallFont”>
<item name=”android:textSize”>8px</item>
<item name=”android:padding”>2px</item>
</style>
<style name=”LargeFont”>
<item name=”android:textSize”>15px</item>
<item name=”android:padding”>4px</item>
</style>
<style name=”LargeItalicFont” parent=”LargeFont”>
<item name=”android:shadowColor”>#0F0</item>
<item name=”android:textStyle”>italic</item>
<item name=”android:shadowDx”>1</item>
<item name=”android:shadowDy”>2</item>
<item name=”android:shadowRadius”>10</item>
</style>
</resources>
위의 styles.xml 파일에는 3개(SmallFont, LargeFont, LargeItalicFont)의 style element가 선언되어 있다.
이중 LargeItalicFont의 경우에는 LargeFont의 textSize와 padding값을 상속받아 사용하고 있다.
이렇게 선언한 Style을 view element에 적용하는 방법은 아래와 같다.
<Button  android:id=”@+id/button” style=”@style/SmallFont”/>
styles.xml에서 정의한 3개의 style을 사용하여 출력한 결과.
위에서 부터 Button의 text에 SmallFont, LargeFont, LargeItalicFont를 적용한 뒤
실행시킨 결과.
4. Theme 적용
    3번에서와 같이 정의한 style을 theme로서 적용할 수도 있다. theme로서 적용할 때는 Application에
    적용할수도 있고 Activity에 적용할 수도 있다.
    1) Application에 적용하는 방법.
        AndroidManifest.xml 파일의 application element에 theme attribute를 추가한 뒤 정의한 style의 이름을 적는다.
        ex) <application android:icon=”@drawable/icon” android:label=”@string/app_name” 
android:theme=”@style/LargeItalicFont”>
    2) Activity에 적용하는 방법.
        activity element에 theme attribute를 추가한 뒤 동일한 방법으로 적용가능 하다.
Application에 LargeItalicFont를 적용한 결과