테마(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 |
댓글