2011-04-26 219 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