page.title=머티리얼 테마 사용 @jd:body
새 머티리얼 테마는 다음과 같은 기능을 제공합니다.
제어 중인 색상표로 브랜드 ID에 따라 머티리얼 테마의 모습을 사용자지정할 수 있습니다. 그림 3과 같이 테마 특성을 사용하여 작업 표시줄 및 상태 표시줄에 색조를 적용할 수 있습니다.
시스템 위젯에는 새 디자인 및 터치 피드백 애니메이션이 있습니다. 앱에서 색상표, 터치 피드백 애니메이션, 액티비티 전환을 사용자지정할 수 있습니다.
머티리얼 테마는 다음과 같이 정의됩니다.
@android:style/Theme.Material
(어두운 버전)@android:style/Theme.Material.Light
(밝은 버전)@android:style/Theme.Material.Light.DarkActionBar
사용가능한 머티리얼 스타일 목록은 {@link android.R.style R.style}의 API 레퍼런스를 참조하세요.
그림 1. 어두운 머티리얼 테마
그림 2. 밝은 머티리얼 테마
참고: 머티리얼 테마는 Android 5.0(API 레벨 21) 이상에서만 사용할 수 있습니다. v7 지원 라이브러리 는 일부 위젯에 머티리얼 디자인 스타일의 테마를 제공하고 색상표 사용자지정을 지원합니다. 자세한 내용은 호환성 유지를 참조하세요.
테마의 기본 색상을 브랜드에 맞게 사용자지정하려면 머티리얼 테마에서 상속 시 테마 특성을 사용하여 사용자지정 색상을 정의합니다.
<resources> <!-- inherit from the material theme --> <style name="AppTheme" parent="android:Theme.Material"> <!-- Main theme colors --> <!-- your app branding color for the app bar --> <item name="android:colorPrimary">@color/primary</item> <!-- darker variant for the status bar and contextual app bars --> <item name="android:colorPrimaryDark">@color/primary_dark</item> <!-- theme UI controls like checkboxes and text fields --> <item name="android:colorAccent">@color/accent</item> </style> </resources>
머티리얼 테마를 사용하면 손쉽게 상태 표시줄을 사용자지정할 수 있습니다. 따라서 브랜드에 맞는 색상을 지정하고 흰색 상태 아이콘이 보이도록 충분한 대비를 제공할 수 있습니다.
상태 표시줄의 사용자지정 색상을 설정하려면 머티리얼 테마를 확장할 때 android:statusBarColor
특성을 사용합니다.
기본적으로 android:statusBarColor
는 android:colorPrimaryDark
의 값을 상속합니다.
직접 상태 표시줄 뒤에 그릴 수도 있습니다. 예를 들어 사진 위에 상태 표시줄이 투명하게 표시되도록 하려면, 희미하게 어두운 그라데이션으로 흰색 상태 아이콘이 보이게 합니다.
그렇게 하려면 android:statusBarColor
특성을
@android:color/transparent
로 설정하고 필요한 경우 창 플래그를 조정합니다. 또한 {@link android.view.Window#setStatusBarColor Window.setStatusBarColor()} 메서드를 사용하여 애니메이션 또는 페이드 효과를 줄 수도 있습니다.
참고: 상태 표시줄은 거의 언제나 기본 도구모음과 경계가 분명히 식별되어야 합니다. 단, 이러한 표시줄 뒤에 다채로운 가장자리 이미지 또는 미디어 콘텐츠를 표시하는 경우나 아이콘이 계속 보이도록 그라데이션을 사용하는 경우는 제외됩니다.
탐색 표시줄과 상태 표시줄을 사용자지정하는 경우, 둘 다 투명하게 만들거나 상태 표시줄만 수정합니다. 그 밖의 경우 탐색 표시줄은 항상 검은색을 유지해야 합니다.
XML 레이아웃 정의에 있는 요소는 테마 리소스를 참조하는 android:theme
특성을 지정할 수 있습니다.
이 특성은 요소와 모든 하위 요소의 테마를 수정하며, 인터페이스의 특정 부분에서 테마 색상표를 바꿀 때 유용합니다.