1. 程式人生 > >selector 的用法,在選擇和不選擇情況下的顏色

selector 的用法,在選擇和不選擇情況下的顏色

在res/drawable資料夾新增一個檔案,此檔案設定了圖片的觸發狀態,你可以設定 state_pressed,state_checked,state_pressed,state_selected,state_focused,state_enabled 等幾個狀態:

android:state_pressed

Boolean. "true" if this item should be used when the object is pressed (such as when a button is touched/clicked); "false" if this item should be used in the default, non-pressed state.

如果是true,當被點選時顯示該圖片,如果是false沒被按下時顯示預設。

android:state_focused

Boolean. "true" if this item should be used when the object is focused (such as when a button is highlighted using the trackball/d-pad); "false" if this item should be used in the default, non-focused state.

true,獲得焦點時顯示;false,沒獲得焦點顯示預設。

android:state_selected

Boolean. "true" if this item should be used when the object is selected (such as when a tab is opened); "false" if this item should be used when the object is not selected.

true,當被選擇時顯示該圖片;false,當未被選擇時顯示該圖片。

android:state_checkable

Boolean. "true" if this item should be used when the object is checkable; "false" if this item should be used when the object is not checkable. (Only useful if the object can transition between a checkable and non-checkable widget.)

true,當CheckBox能使用時顯示該圖片;false,當CheckBox不能使用時顯示該圖片。

android:state_checked

Boolean. "true" if this item should be used when the object is checked; "false" if it should be used when the object is un-checked.

true,當CheckBox選中時顯示該圖片;false,當CheckBox為未選中時顯示該圖片。

android:state_enabled

Boolean. "true" if this item should be used when the object is enabled (capable of receiving touch/click events); "false" if it should be used when the object is disabled.

true,當該元件能使用時顯示該圖片;false,當該元件不能使用時顯示該圖片。

android:state_window_focused

Boolean. "true" if this item should be used when the application window has focus (the application is in the foreground), "false" if this item should be used when the application window does not have focus (for example, if the notification shade is pulled down or a dialog appears).

true,當此activity獲得焦點在最前面時顯示該圖片;false,當沒在最前面時顯示該圖片。

<?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 -->
    <itemandroid:drawable="@drawable/button_normal"/><!-- default -->

   
</selector>