2011-04-26 153 views
5

當我有一個android按鈕並將其設置爲禁用,那麼該按鈕看起來像「透明」。禁用自定義背景按鈕android

我有一個自定義背景的按鈕和聚焦狀態的按鈕。我想從代碼中禁用它。當我嘗試button.setEnabled(false);時,我禁用了該按鈕,但它保持相同的自定義背景。任何想法如何禁用我的自定義按鈕,並將背景更改爲透明?

+0

http://stackoverflow.com/questions/3244022/andrioid-button-set-background-to-transparent-color – 2011-04-26 12:49:36

回答

11

也許你可以使用android:state_enabled並將其設置爲適當的透明可繪製的選擇器中的此按鈕?

29

您應該創建自定義你選擇器這樣的:

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item 
    android:state_enabled="false" 
     android:drawable="@drawable/btn_red" /> 
    <item 
     android:state_pressed="true" 
     android:state_enabled="true" 
     android:drawable="@drawable/btn_orange" /> 
    <item 
     android:state_focused="true" 
     android:state_enabled="true" 
     android:drawable="@drawable/btn_orange" /> 
    <item 
     android:state_enabled="true" 
     android:drawable="@drawable/btn_black" /> 
</selector> 
+2

的選擇符,創建在res/drawable /目錄下有一個新的XML文件 – 2015-02-11 09:23:36