반응형

이 게시물은 다음 링크를 참조하여 학습했습니다.

 

색상 상태 목록 리소스  |  Android 개발자  |  Android Developers

ColorStateList는 XML로 정의할 수 있는 객체로 색상으로 적용할 수 있지만 실제로 색상이 적용되는 View 객체의 상태에 따라 색상을 변경합니다. 예를 들어, Button 위젯은 여러 다양한 상태(눌리거나

developer.android.com

1. color/

 안드로이드에서 제공하는 resources는 큰 타이틀로 10개가 있는데,

 color/라는 타이틀이 하나 있었고 values/ 라는 타이틀에 colors/ 라는 작은 타이틀이 하나 더 있었다.

 그래서 이걸 따로 정리를 해야되나, 정리를 안해야되나 고민하다가 developer android를 찾아봤는데

 큰 타이틀의 color/는 쉽게 생각하면 color states list(색상 상태 목록)이라 생각하면 된다.

 즉 color/는 색상 상태 목록을 정의하는 xml 파일이다. 

 values/colors는 <resources></resources>에서 정의하는 반면

 color/는 <selector></selector>에서 위젯의 다양한 상태에 따른 색을 결정한다.

 

2. 속성

 안드로이드에서 제공하는 속성을 보여주는 구문이다.

1
2
3
4
5
6
7
8
9
10
11
12
<?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android" >
        <item
            android:color="hex_color"
            android:state_pressed=["true" | "false"]
            android:state_focused=["true" | "false"]
            android:state_selected=["true" | "false"]
            android:state_checkable=["true" | "false"]
            android:state_checked=["true" | "false"]
            android:state_enabled=["true" | "false"]
            android:state_window_focused=["true" | "false"] />
    </selector>
cs

 보다시피 속성 값들은 true / false이다.

 <item ~~ /> 에서 정의되고, 다음 속성 값들이 의미하는 바는 아래와 같다.

속성 설명
color 16진수 색상 값 (#RGB, #ARGB, #RRGGBB, #AARRGGBB)
state_pressed 객체가 눌렸을 때 true
state_focused 객체에 포커스가 있을 때 true
state_selected 객체가 선택되었을 때 true
state_checkable 객체가 선택 가능할 때 true
state_checked 객체가 선택될 때 true
state_enabled 객체가 사용 설정될 때 true
state_window_focused 어플리케이션 창에 포커스가 있을 때 true

 

반응형

+ Recent posts