寫selector的xml檔案時,需注意item的順序,不帶狀態的item放在最後,否則selector無效

jia635發表於2014-07-11

    為按鈕寫了一個selector,一個正常狀態,一個點選的狀態,用了兩張不同的圖片。以求達到更好地使用者體驗。xml格式都正確,設定到ImageButton的src屬性中。但是點選時圖片並沒有變成預想的那張。

     經過查詢,原來是在寫selector的xml時,item的順序有個嚴格的要求:正常狀態的item必須放到最後,否則將不產生效果

    至於原因,不是很清楚。可能是Android疏忽了的一個小細節。


<?xml version="1.0" encoding="utf-8"?>
<selector
  xmlns:android="http://schemas.android.com/apk/res/android">
    <item 
    android:state_focused="false"
    android:state_pressed="true" 
    android:drawable="@drawable/arrow_pressed"/>
   
    <!-- 正常狀態的item必須放在最後,否則無法生效 -->
    <item android:drawable="@drawable/arrow_normal"/>
</selector>



正常狀態:

 

點選狀態:



相關文章