안드로이드 style theme 구현하는 방법.
주의) 저는 안드로이드 개발 초보입니다. 틀린 내용이 있을수 있습니다!
번거로우시겠지만 알려주시면 감사하겠습니다.
-------------------------------------------------------------------------------------------------------
어떤 키를 사용할지 선언한다. format에는 아래 타입의 값을 사용할 수 있다.
(Reference, String, Color, Dimension, Boolean, Integer, Float, Fraction, Enum, Flag)
attrs.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<declare-styleable name="customAttrs">
<attr name="id_A" format="reference" />
</declare-styleable>
</resources>
-------------------------------------------------------------------------------------------------------
values, drawable, drawable-xhdpi 등의 원하는 폴더에 xml 파일을 만든다.
(android:Theme.Holo 는 바꿔주거나 없어도 된다.)
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<style name="styleA" parent="android:Theme.Holo">
<item name="id_A">@drawable/id_A_dark</item>
</style>
<style name="styleB" parent="android:Theme.Holo">
<item name="id_A">@drawable/id_B_Light</item>
</style>
</resources>
-------------------------------------------------------------------------------------------------------
manifest 의 application 이나 activity 에 테마를 설정한다.
(또는 코드로.. 안해봤지만 아마 있을거다.. __;;)
android:theme="@style/styleB"
-------------------------------------------------------------------------------------------------------
아래와 같이 사용한다.
위의 manifest에서 셋팅한 테마에 해당하는 값을 가져온다.
xml에서
<ImageButton
...........
android:src="?attr/id_A" />
소스에서 접근방법.
R.attr.id_A
-------------------------------------------------------------------------------------------------------
응용하면 여러군데에서 사용할 수 이겠지만 declare-styleable 의 이름에서 알수 있듯이 스타일에 특화된 것이니 스타일 이외의 부분에선 가급적 자제하길 바란다.
번거로우시겠지만 알려주시면 감사하겠습니다.
-------------------------------------------------------------------------------------------------------
어떤 키를 사용할지 선언한다. format에는 아래 타입의 값을 사용할 수 있다.
(Reference, String, Color, Dimension, Boolean, Integer, Float, Fraction, Enum, Flag)
attrs.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<declare-styleable name="customAttrs">
<attr name="id_A" format="reference" />
</declare-styleable>
</resources>
-------------------------------------------------------------------------------------------------------
values, drawable, drawable-xhdpi 등의 원하는 폴더에 xml 파일을 만든다.
(android:Theme.Holo 는 바꿔주거나 없어도 된다.)
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<style name="styleA" parent="android:Theme.Holo">
<item name="id_A">@drawable/id_A_dark</item>
</style>
<style name="styleB" parent="android:Theme.Holo">
<item name="id_A">@drawable/id_B_Light</item>
</style>
</resources>
-------------------------------------------------------------------------------------------------------
manifest 의 application 이나 activity 에 테마를 설정한다.
(또는 코드로.. 안해봤지만 아마 있을거다.. __;;)
android:theme="@style/styleB"
-------------------------------------------------------------------------------------------------------
아래와 같이 사용한다.
위의 manifest에서 셋팅한 테마에 해당하는 값을 가져온다.
xml에서
<ImageButton
...........
android:src="?attr/id_A" />
소스에서 접근방법.
R.attr.id_A
-------------------------------------------------------------------------------------------------------
응용하면 여러군데에서 사용할 수 이겠지만 declare-styleable 의 이름에서 알수 있듯이 스타일에 특화된 것이니 스타일 이외의 부분에선 가급적 자제하길 바란다.
댓글
댓글 쓰기