標籤:selector android 標籤
定義: 在XML中定義的一個可繪製(drawable)的對象,它可以根據狀態的不同為同一個圖形更換不同的圖片。比如說,對於一個按鈕控制項(Button)可以有幾種不同的狀態(pressed,focused或者其它),你可以使用state list為其中的每一個狀態來設定按鈕的背景圖片。
XML的位置: android的selector是在res/drawable/中配置的
標籤與屬性:android:constantSize 這個是布爾型,false表示各個狀態的大小(size)各自不同,true表中所有的狀態大小相同(以最大的為準)。預設為false
android:dither 布爾型。true表示,如果一個螢幕中位元影像有這不同的像素配置,啟用位元影像的抖動。false表示不啟用位元影像的抖動。據度娘:dither,抖動,是一種故意造成的噪音用以隨機化量化誤差,阻止大幅度拉升映像時導致的像banding(色帶)這樣的問題。
android:variablePadding 布爾型。選擇true時,drawable的內邊距會根據狀態的變化而變化,設定為true時,你必須為不同的狀態配置layout,但是通常不建議這麼做。選擇false時,內邊距保持一致,所有狀態中最大的內邊距。預設為false
android:enterFadeDuration/android:exitFadeDuration Drawable有多種狀態時,可以定義它展示前的淡入淡出。
在item標籤中,我們可以配置一下幾種屬性 :
綠色字型:重點
android:drawable |
這個屬性是必須的,為當前控制項指定資源。
|
android:state_pressed |
布爾值。true指當使用者點擊或者觸摸該控制項的狀態。預設為false
|
android:state_focused
|
布爾值。ture指當前控制項獲得焦點時的狀態。預設為false
|
android:state_hovered
|
布爾值。true表示游標移動到當前控制項上的狀態。預設為false
|
android:state_selected
|
布爾值。true表示被選擇的狀態,例如在一個下拉式清單中用方向鍵下選擇其中一個選項。 這個和focus的區別,selected是focus不充分的情況。比如一個listview獲得焦點(focus),而用方向鍵選擇了其中的一個item(selected)
|
android:state_checkable
|
布爾值。ture表示可以被勾選的狀態。這個僅在當控制項具有被勾選和不被勾選的狀態間轉換時才起作用。
|
android:state_checked
|
布爾值。true表示當前控制項處於被勾選(check的狀態)
|
android:state_enabled
|
布爾值。true表示當前控制項出於可用的狀態。比如可以被點擊
|
android:state_activated
|
布爾值。true表示當前控制項被啟用的狀態。
|
android:state_window_focused
|
布爾值。true表示當前控制項出於最前端時,應用視窗獲得焦點的狀態。
|
Android之Selector詳解(背景選取器)