Drawable的用法

        做應用時,可能會需要動態改變控件的背景圖片,如果僅僅是簡單的點擊,選中之類的事件,如果靠程序中寫監聽的代碼就顯得太麻煩了,在這種情況下,你可以使用selector動態改變控件背景

       我們在定義一個drawable的時候可以通過xml定義的drawable對象。它使得一個圖片能在不同的狀態下顯示不同的圖案,比如一個Button,它有pressed,focused,或者其它狀態,通過使用state list drawable,你就可以爲每種狀態提供不同的圖片。

 android:drawable 放一個drawable資源
android:state_pressed 是否按下,如一個按鈕觸摸或者點擊。
android:state_focused 是否取得焦點,比如用戶選擇了一個文本框。
android:state_hovered 光標是否懸停,通常與focused state相同,它是4.0的新特性
android:state_selected 被選中,它與focus state並不完全一樣,如一個list view 被選中的時候,它裏面的各個子組件可能通過方向鍵,被選中了。
android:state_checkable 組件是否能被check。如:RadioButton是可以被check的。
android:state_checked 被checked了,如:一個RadioButton可以被check了。
android:state_enabled 能夠接受觸摸或者點擊事件
android:state_activated 被激活(這個麻煩舉個例子,不是特明白)
android:state_window_focused 應用程序是否在前臺,當有通知欄被拉下來或者一個對話框彈出的時候應用程序就不在前臺了

 

注意:如果有多個item,那麼程序將自動從上到下進行匹配,最先匹配的將得到應用。(不是通過最佳匹配)
如果一個item沒有任何的狀態說明,那麼它將可以被任何一個狀態匹配。

 

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,當該組件不能使用時顯示該圖片。

 

   

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章