Android 의 Selector 사용법 상세 설명 및 인 스 턴 스

3855 단어 AndroidSelector
Android 의 Selector 사용법 

<?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/bg_selected">
    </item>
  <item android:drawable="@drawable/bg_unselect">

  </item>
</selector>

 일 을 할 때 시스템 이 제시 한 컨트롤 이 아름 답지 않 기 때문에 개발 할 때 지도 자 는 항상 나 에 게 인 터 페 이 스 를 바 꾸 고 미 공이 준 그림 으로 시스템 그림 을 대체 하 라 고 한다.처음에 저 는 버튼 등 배경 그림 을 설정 하 는 것 만 했 습 니 다.이렇게 하면 아름 답지 만 화면 이 딱딱 해 보 였 습 니 다.예 를 들 어 사용자 가 버튼 을 클릭 한 후에 버튼 이 아무런 반응 이 없 었 습 니 다.그래서 저 는 컨트롤 에 onTouch 감청 이 벤트 를 추가 하고 누 른 후에 배경 색 을 바 꾸 고 손 을 놓 은 후에 원래 의 색 을 회복 합 니 다.그러나 나중에 selector 라 는 이 기 를 발 견 했 습 니 다.정말 기 쁩 니 다.onTouch 감청 사건 을 추가 하지 않 아 도 되 고 사용 하기에 도 편리 합 니 다.다른 개발 자 들 과 기술 경험 등 을 많이 교류 하 는 것 이 필요 하 다 고 말 할 수 밖 에 없다.특히 나 처럼 혼자서 앱 개발 을 맡 았 다.      
      Android 의 selector 는 drawable 에서 설정 해 야 합 니 다.
      그 중에서 selector 가 설정 할 수 있 는 속성 은:
android:state_pressed           true 라면 클릭 했 을 때 이 그림 을 표시 합 니 다.false 가 누 르 지 않 았 을 때 기본 값 을 표시 합 니 다.
android:state_focused           true 라면 초점 을 얻 었 을 때 표시 합 니 다.false 가 초점 을 얻 지 못 하면 기본 값 을 표시 합 니 다.
android:state_selected          true 라면 선택 되 었 을 때 이 그림 을 표시 합 니 다.false 가 선택 되 지 않 았 을 때 이 그림 을 표시 합 니 다.
android:state_checkable         값 이 true 이면 CheckBox 가 사용 할 수 있 을 때 이 그림 을 표시 합 니 다.false,CheckBox 를 사용 할 수 없 을 때 이 그림 을 표시 합 니 다.
android:state_checked           값 이 true 이면 CheckBox 가 선택 되 었 을 때 이 그림 을 표시 합 니 다.false,CheckBox 가 선택 되 었 을 때 이 그림 을 표시 합 니 다.
android:state_enabled           값 이 true 라면 이 구성 요소 가 사용 할 수 있 을 때 이 그림 을 표시 합 니 다.false,이 구성 요소 가 사용 할 수 없 을 때 이 그림 을 표시 합 니 다.
 
android:state_window_focused    값 이 true 라면 이 activity 가 맨 앞 에 초점 을 맞 출 때 이 그림 을 표시 합 니 다.false,맨 앞 에 없 을 때 이 그림 표시
  이러한 속성 값 도 중첩 해서 사용 할 수 있 습 니 다.예 를 들 어:
        android:state_window_focused=”true”  android:state_pressed=”true”
    비 터치 모드 에서 초점 을 맞 추고 눌 렀 을 때의 배경 그림 을 표시 합 니 다.
  일반적으로 버튼 컨트롤 은 android:state 만 사용 하면 됩 니 다.pressed 하면 돼 요.예 를 들 어 Button 컨트롤 의 배경 설정 은:

<?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/bg_selected">
    </item>
  <item android:drawable="@drawable/bg_unselect">

  </item>
</selector>

이 버튼 컨트롤 을 눌 렀 을 때 배경 그림 은 bg 임 을 나타 낸다.selected,기타 상황(클릭 되 지 않 았 거나 클릭 후 풀 림 등)배경 그림 은 bgunselect。
selector 는 구성 요소 의 배경 색 을 설정 할 수 있 을 뿐만 아니 라 텍스트 의 색 도 설정 할 수 있 습 니 다.예 를 들 어 어떤 Button 컨트롤 이 누 르 면 Button 의 텍스트 색상 도 달라 집 니 다.예 를 들 면:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
  <item android:state_pressed="true" android:color="#ffffff"></item>
  <item android:color="#000000"></item>
</selector>
즉,이 Button 컨트롤 의 색상 은 검은색 이지 만 버튼 을 누 르 면 색상 이 흰색 으로 변 합 니 다.풀 면 색상 이 검은색 으로 회 복 됩 니 다.
이상 코드 에서 이렇게 설정 할 수 있 습 니 다:

<Button
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
  android:background="@drawable/btn_slector"
  android:text="abc"
  android:textColor="@drawable/text_selector"
  />
selector 외 에 도 하나의 Shape 는 컨트롤 의 그래 픽 효 과 를 맞 출 수 있 고 둘 다 함께 사용 할 수 있 습 니 다.
 읽 어 주 셔 서 감사합니다. 여러분 에 게 도움 이 되 기 를 바 랍 니 다.본 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!

좋은 웹페이지 즐겨찾기