首先在工程的res/drawable目錄下創建一個 xml 文件,這裏命名爲:button_selector.xml
內容如下:
1 2 3 4 5 6 7 8 9 | <? 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/up_pressed" /> < item android:state_pressed = "false" android:drawable = "@drawable/up" /> </ selector > |
說明:這裏的selector標籤就相當與Button狀態的選擇器,每一個item子項代表着Button的一種狀態,這裏我只選取了兩種狀態做示例,一種是Button被點擊,另一種是Button未被點擊。全部的Button狀態可以參考Google Android Development相關網頁:StateListDrawable
常用的屬性分析
Android:state_accessibility_focused是否能夠獲取焦點 android:state_selected是否選中 android:state_focused是否獲得焦點 android:state_pressed是否點擊 android:state_enabled設置是否響應事件,指所有事件 android:state_checkable是否可能選中 android:state_checked否是選中 android:state_active是否活動 android:state_activated android:state_window_focused
說明:它們之間的執行是有執行順序的寫xml的時候特別要分析好執行順序,否則達不到要實現的效果android:state_focused表示view獲取焦點時的狀態
android:state_pressed表示view按下時的狀態(注意它的狀態是瞬時的 只在按下時)
android:state_selected
android:state_enabled
android:state_checked