본문 바로가기
Resource

테마(Theme) 다루기

by 하드락 2022. 10. 2.

테마(Theme) 다루기

 

테마(Theme) 개별 위젯이 아니라 화면의 모든 View 객체들에 적용되는 특성 집합이다.

테마를 활용하면, 응용 프로그램 UI 일관성은 물론 응용 프로그램의 유지보수에도 도움을 준다.

테마는 본질적으로 하나의 스타일이지만, 단지 화면 전체에 적용된다는 점이 스타일과 다르다.

 

< /res/values/themes.xml >

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <style name="my_theme">
        <item name="android:gravity">right</item>
    </style>

    <style name="my_theme_2">
        <item name="android:textColor">#FF00FF00</item>
        <item name="android:textStyle">italic</item>
    </style>

</resources>

 

◈ AndroidManifest.xml 파일에서 사용

<activity android:name=".HelloTestActivity"
             android:label="@string/app_name"
             android:theme="@style/my_theme">

// 화면의 모든 위젯의 gravity 특성이 right가 되어, 위젯들이 모두 오른쪽으로 정렬된다.

 

<activity android:name=".HelloTestActivity"
             android:label="@string/app_name"
             android:theme="@android:style/Theme.NoTitleBar.Fullscreen">

// 안드로이드에서 이미 설계되어져 있는 테마를 활용할 수도 있다.
// 화면의 Status Bar와 Title Bar가 모두 없어져서 전체화면이 된다.

 

◈ Java 코드에서 사용

setTheme(R.style.my_theme);
setTheme(R.style.my_theme_2);

// 메니페스트 XML 파일에서와는 달리, 코드에서는 하나의 화면에 여러 개의 테마를 적용할 수 있다.
// 한 화면에 두 스타일이 적용되어서, 위젯들이 오른쪽으로 정렬되고 텍스트가 녹색의 이탤릭체로 나타난다.

// 여기서 주의할 점은, 테마는 레이아웃을 설정하기 전에 설정해야 한다.
// 즉, 모든 테마는 반드시 setContentView() 메서드를 호출하기 전에 설정해야,
// 테마들의 속성이 위젯에 적용된다.

 

'Resource' 카테고리의 다른 글

스타일(Style) 다루기  (0) 2022.10.02
레이아웃 다루기  (0) 2022.10.02
리소스에 대한 참조  (0) 2022.10.02
원본(raw) 파일 다루기  (0) 2022.10.02
XML 파일 다루기  (0) 2022.10.02

댓글