Android之Selector詳解(背景選取器)

來源:互聯網
上載者:User

標籤: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詳解(背景選取器)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.