отключить кнопку с пользовательским фоном Android - PullRequest
7 голосов
/ 26 апреля 2011

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

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

Ответы [ 2 ]

32 голосов
/ 21 марта 2012

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

<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>
12 голосов
/ 26 апреля 2011

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

...