Отключить кнопку с пользовательским фоном Android

Когда у меня есть кнопка андроида и она отключена, кнопка выглядит прозрачной.

У меня есть кнопка с пользовательским фоном для нажатого и сфокусированного состояния. Я хочу отключить его из кода. Когда я пытаюсь button.setEnabled(false); Я отключаю кнопку, но она сохраняет тот же пользовательский фон. Любая идея, как отключить мою пользовательскую кнопку и изменить фон как прозрачный тоже?

2 ответа

Решение

Может быть, вы могли бы использовать android:state_enabled и установить для этого прозрачного рисования в вашем селекторе для этой кнопки?

Вы должны создать свой собственный селектор, как это:

<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>
Другие вопросы по тегам