当我有一个Android按钮并将其设置为禁用时,该按钮似乎是“透明的”。
我有一个自定义背景的按钮,用于按下和聚焦状态。我想从代码中禁用它。当我尝试button.setEnabled(false);
时,我禁用按钮,但它保持相同的自定义背景。知道如何禁用我的自定义按钮并将背景更改为透明吗?
答案 0 :(得分:32)
您应该像这样创建自定义选择器:
<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>
答案 1 :(得分:12)
也许您可以使用android:state_enabled
并将其设置为适合此按钮的选择器中的透明drawable?