2013-08-29 90 views
10

我有一個按鈕選擇器,用於在按下按鈕圖像時更改按鈕圖像。我還設置了禁用按鈕時的圖像。我嘗試以編程方式禁用按鈕,但禁用的按鈕圖像未顯示。我的button_selector是否正確?使用按鈕選擇器的禁用按鈕

<item android:drawable="@drawable/red_btn_bg_disabled" android:state_enabled="false"/> <!-- disabled --> 

<item android:drawable="@drawable/red_btn_bg_pressed" android:state_pressed="true"/> <!-- pressed --> 
<item android:drawable="@drawable/red_btn_bg_pressed" android:state_focused="true"/> <!-- focused --> 

<item android:drawable="@drawable/red_btn_bg"/> <!-- default --> 

我在我的代碼使用mButton.setEnabled(false)來取消按鈕

回答

24

試試這個,我上傳的一個示例項目爲您提供更多的幫助檢查項目

selector.xml

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 

     <item android:drawable="@drawable/btn_disable" android:state_enabled="false"/> 
     <item android:drawable="@drawable/btn_pressed" android:state_pressed="true"/> 
     <item android:drawable="@drawable/btn_normal"/> 

    </selector> 

和按鈕,可以使用這個選擇如下

<Button 
     android:id="@+id/button1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignLeft="@+id/button1" 
     android:layout_below="@+id/button1" 
     android:layout_marginTop="30dp" 
     android:background="@drawable/selector" 
     android:enabled="false" 
     android:text="Disable Button" /> 

示例代碼鏈接 https://www.dropbox.com/s/lydkog10rkujbsa/ButtonSelector.rar

+0

工作就像一個魅力! 「啓用」幫助了我很多 –

3

試試這個。

<item android:drawable="@drawable/red_btn_bg_pressed" android:state_pressed="true"/> <!-- pressed --> 

<item android:drawable="@drawable/red_btn_bg_disabled" android:state_enabled="false"/> <!-- disabled --> 

<item android:drawable="@drawable/red_btn_bg"/> <!-- default -->