티스토리 뷰

Mobile/Android

[Android]Style, Theme

out of coding 2015. 4. 14. 17:17

앱을 개발하다보면 같은 스타일과 같은 테마를 사용하는 화면들이 많이 있습니다.

이러한 경우에 Style이나 Theme를 사용하여서 개발을 하면 일괄적으로 스타일이 변경이 되므로 개발하고 나면 참 좋습니다.


스타일.

레이아웃XML에 있는 하나의 엘리먼트 단위로 적용할수 있는 속성들의 집합. 텍스트의 컬러와 크기를 지정하는 것이 있겠죠


테마.

어플리케이션 내의 액티비티또는 하나의 액티비티 단위로 적용할 수 있는 속성들의 집합. 메뉴의 텍스트 크기와 색상을 지정하는 테마가 있겠죠.


1. 스타일 만들기


1. res/values안에 임의의 xml파일을 만들어줍니다.

2. <style></style> 엘리먼트를 추가하여 고유한 이름과 상속받을 속성을 지정합니다.


예제.

<style name="TestText" parent="@style/Text">
	<item name="android:textSize">15dp</item>
	<item name="android:textColor">#FF00FF</item>
</style>

사용.

<EditText 
	style="@style/TestText"
	android:layout_width="match_parent"
	android:layout_height="wrap_content"
	android:text="ABCD"/>
2. 테마 만들기

1. res.value안에 임의의 xml파일을 만듭니다.
2. <style></style> 엘리먼트를 추가하여 고유한 이름과 상속받을 속성을 지정합니다.

<style name="TestTheme">
	<item name="android:windowNoTitle">true</item>
	<item name="windowFrame">@drawable/image</item>
	<item name="panelForegroundColor">#FF00FF</item>
	<item name="panelTextColor">?panelForegroundColor</item>
	<item name="panelTextSize">14dp</item>
	<item name="menuItemTextSize">?panelTextSize</item>
</style>

이곳에서 사용하는 리소스참조에는 두가지 방법이 있습니다. @와 ? 이렇게 두가지.


의미는 @는 이전에 미리 정의된 리소스를 참조한다는 의미

?는 현재 로드된 테마에서의 리소스 값을 참조한다는 의미


특별한 사항은 없네요.

공부합시다.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함