2013년 1월 30일 수요일

[Android]상태 리스트 모형 (Selector)

<?xml version=”1.0” encoding=”utf-8”?>
<selector xmlns:android=”http://schemas.android.com/apk/res/android” 
    android:constantSize=[ ”true” | ”false” ]
    android:dither=[ ”true” | ”false” ]
    android:variablePadding=[ ”true” | ”false” ]>
    <item 
        android:drawable=”@[package:]drawable/drawable_resource”
        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>

<Selector /> 속성
  • android:constantSize : 이미지의 크기를 동일하게 할 것인가.(Default -> false)
  • android:dither : 화면상의 색상수와 이미지의 생상수가 차이가 존재하면 원래의 색감으로 맞추어주는 기능이다.(Default -> true)
  • android:variablePadding : 이미지에 따라 자동으로 패딩을 맞추어 주는 기능이다.

<Item /> 속성
  • android:state_pressed : 컴포넌트를 눌렀을 때.
  • android:state_focused : 컴포넌트가 포커스 되었을 때.
  • android:state_selected :  컴포넌트가 선택되어 졌을 때.
  • android:state_checkable : 체크 버튼처럼 선택 가능하도로 뷰를 만들 때.
  • android:state_checked : 체크 버튼처럼 선택되어졌을 때.
  • android:state_enable : 컴포넌트가 활성화 되어 졌을 때.
  • android:state_window_focused : 해당 컴포넌트를 담고 있는 창이 포커스 되었을 때. 즉 다른 애플리케이션에 의해 가려져 있다가 화면의 전면이 다시 나타났을 때.

아래는 '안드로이드 개발자 사이트'에 있는 예제 코드이다.
<?xml version=”1.0” encoding=”utf-8”?>
<selector xmlns:android=”http://schemas.android.com/apk/res/android”>
    <item android:state_pressed=”true”
          android:drawable=”@drawable/button_pressed” /> <!-- pressed -->
    <item android:state_focused=”true”
          android:drawable=”@drawable/button_focused” /> <!-- focused -->
    <item android:state_hovered=”true”
          android:drawable=”@drawable/button_focused” /> <!-- hovered -->
    <item android:drawable=”@drawable/button_normal” /> <!-- default -->
</selector>

<?xml version=”1.0” encoding=”utf-8”?>
<Button
    android:layout_height=”wrap_content”
    android:layout_width=”wrap_content”
    android:background=”@drawable
관련글

댓글 없음:

댓글 쓰기