[android] 안드로이드 리소스 테마 및 스타일
안드로이드 앱을 개발할 때 UI 디자인을 관리하기 위해 테마와 스타일을 사용합니다. 테마는 앱 전체에 적용되는 속성의 모음이며, 스타일은 특정 요소에 적용되는 속성의 모음입니다. 안드로이드에서는 리소스를 사용하여 테마와 스타일을 정의하고 적용합니다.
테마 (Theme)
안드로이드 앱의 테마는 앱의 전반적인 디자인을 정의하는 데 사용됩니다. 테마는 앱의 기본 색상, 글꼴, 상태 표시줄 스타일, 액션 바 스타일 등을 정의할 수 있습니다.
예를 들어, 앱 전체의 기본 색상을 설정하거나, 어두운 모드와 밝은 모드의 디자인을 다르게 설정할 수 있습니다.
안드로이드에서는 res/values/styles.xml
파일에 테마를 정의하고, AndroidManifest.xml
파일에서 앱에 테마를 적용합니다.
<!-- res/values/styles.xml -->
<resources>
<style name="AppTheme" parent="Theme.AppCompat.Light">
<item name="colorPrimary">#3F51B5</item>
<item name="colorPrimaryDark">#303F9F</item>
<item name="colorAccent">#FF4081</item>
</style>
</resources>
<!-- AndroidManifest.xml -->
<application
android:theme="@style/AppTheme"
...
>
...
</application>
스타일 (Style)
안드로이드 앱의 스타일은 특정한 UI 요소에 적용되는 디자인을 정의할 때 사용됩니다. 예를 들어, 버튼, 텍스트뷰, 리사이클러뷰 등의 디자인을 일괄적으로 변경하거나 재사용할 수 있습니다.
스타일은 특정한 View나 ViewGroup에 android:theme
속성이나 style
속성으로 적용됩니다.
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/PrimaryButton"
/>
<!-- res/values/styles.xml -->
<resources>
<style name="PrimaryButton" parent="Widget.AppCompat.Button">
<item name="android:background">#3F51B5</item>
<item name="android:textColor">#FFFFFF</item>
</style>
</resources>
결론
안드로이드 리소스를 효율적으로 활용하여 테마와 스타일을 정의하고 적용함으로써 일관된 디자인을 유지하고 UI를 관리할 수 있습니다. 테마와 스타일은 안드로이드 앱의 사용자 경험을 향상시키는 데 중요한 역할을 합니다.
또한, 테마와 스타일을 동적으로 변경하여 어두운 모드와 밝은 모드 등 다양한 테마를 지원함으로써 사용자의 선호도에 맞는 디자인을 제공할 수 있습니다.
참고 자료
- 안드로이드 공식 문서: 안드로이드 테마 및 스타일