selector.xml無效的解決辦法

錯誤的selector.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@android:color/holo_blue_light"/>
<item android:drawable="@android:color/holo_blue_dark" android:state_pressed="true"/>
</selector>

其實selector.xml的文件執行是有順序的。當每次狀態發生變化時,它會先從上往下依次執行。不管state_pressed=”true”和state_pressed=”false”,都會滿足上面的第一個條件(沒有限制狀態),當找到滿足的條件後,就不會再向下執行,因爲看不到背景顏色變化的效果。解決方法有兩種:
1.設置第一個item爲state_pressed=”false”

<item android:drawable="@android:color/holo_blue_light" android:state_pressed="false"/>
<item android:drawable="@android:color/holo_blue_dark" android:state_pressed="true"/>

2.將第一個item和第二個item的位置對換

<item android:drawable="@android:color/holo_blue_dark" android:state_pressed="true"/>
<item android:drawable="@android:color/holo_blue_light"/>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章