2013-02-26 73 views
0

我有這個選擇對我的按鈕的背景選擇禁用鈕

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_enabled="false" 
      android:drawable="@drawable/bg_botton_disable"/> 
    <item android:state_pressed="true" 
      android:state_enabled="true" 
      android:drawable="@drawable/bg_botton_pressed"/> <!-- pressed --> 
    <item android:state_enabled="true" 
      android:drawable="@drawable/bg_botton" /> <!-- default --> 
</selector> 

(Button) bt = (Button) findviewById(R.id.MyBotton); 
bt.setEnabled(false); 

代碼禁用我的按鈕的功能之一。我的意思是當我按下按鈕時,它不會啓動它自己的onClick()方法。這很好,但問題是它不會將按鈕的背景改爲bg_botton_disable drawable。

有沒有人有任何建議如何解決它?

+0

一個問題在這裏:'安卓:state_pressed'的第一個項目 - 是不是強制性的?你有另外一個名爲「bg_botton_disable」的佈局嗎? – g00dy 2013-02-26 09:56:14

回答

0

重新排序您選擇的項目

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_enabled="true" 
      android:drawable="@drawable/bg_botton" /> <!-- default --> 
    <item android:state_pressed="true" 
      android:drawable="@drawable/bg_botton_pressed"/> <!-- pressed --> 
    <item android:state_enabled="false" 
      android:drawable="@drawable/bg_botton_disable"/> 
</selector>